"Fossies" - the Fresh Open Source Software Archive 
Member "haproxy-2.7.5/CHANGELOG" (17 Mar 2023, 1290319 Bytes) of package /linux/misc/haproxy-2.7.5.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the latest
Fossies "Diffs" side-by-side code changes report for "CHANGELOG":
2.7.4_vs_2.7.5.
1 ChangeLog :
2 ===========
3
4 2023/03/17 : 2.7.5
5 - BUG/MEDIUM: mux-pt: Set EOS on error on sending path if read0 was received
6 - BUG/MINOR: mux-h1: Don't report an H1C error on client timeout
7 - BUG/MEDIUM: proxy: properly stop backends on soft-stop
8 - BUG/MEDIUM: resolvers: Properly stop server resolutions on soft-stop
9 - DEBUG: cli/show_fd: Display connection error code
10 - DEBUG: ssl-sock/show_fd: Display SSL error code
11 - BUG/MEDIUM: mux-h1: Don't block SE_FL_ERROR if EOS is not reported on H1C
12 - BUG/MINOR: tcp_sample: fix a bug in fc_dst_port and fc_dst_is_local sample fetches
13 - BUG/MINOR: quic: Missing STREAM frame length updates
14 - BUG/MEDIUM: connection: Preserve flags when a conn is removed from an idle list
15 - BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it
16 - MINOR: buffer: add br_single() to check if a buffer ring has more than one buf
17 - BUG/MEDIUM: mux-h2: only restart sending when mux buffer is decongested
18 - BUG/MINOR: mux-h2: set CO_SFL_STREAMER when sending lots of data
19 - BUG/MINOR: quic: Missing STREAM frame data pointer updates
20 - BUG/MEDIUM: listener: duplicate inherited FDs if needed
21 - MEDIUM: bwlim: Support constants limit or period on set-bandwidth-limit actions
22 - MINOR: h2: add h2_phdr_to_ist() to make ISTs from pseudo headers
23 - MEDIUM: mux-h2/trace: add tracing support for headers
24 - BUG/MINOR: mux-h2: Fix possible null pointer deref on h2c in _h2_trace_header()
25 - BUG/MEDIUM: spoe: Don't set the default traget for the SPOE agent frontend
26 - BUG/MINOR: proto_ux: report correct error when bind_listener fails
27 - BUG/MINOR: protocol: fix minor memory leak in protocol_bind_all()
28 - BUG/MINOR: sock_unix: match finalname with tempname in sock_unix_addrcmp()
29 - BUG/MAJOR: qpack: fix possible read out of bounds in static table
30 - OPTIM: mux-h1: limit first read size to avoid wrapping
31
32 2023/03/10 : 2.7.4
33 - BUG/MINOR: mworker: stop doing strtok directly from the env
34 - BUG/MEDIUM: mworker: prevent inconsistent reload when upgrading from old versions
35 - BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
36 - MINOR: startup: HAPROXY_STARTUP_VERSION contains the version used to start
37 - BUG/MINOR: lua/httpclient: missing free in hlua_httpclient_send()
38 - BUG/MEDIUM: httpclient/lua: fix a race between lua GC and hlua_ctx_destroy
39 - BUG/MEDIUM: stconn: Don't rearm the read expiration date if EOI was reached
40 - BUG/MEDIUM: wdt: fix wrong thread being checked for sleeping
41 - BUG/MINOR: sched: properly report long_rq when tasks remain in the queue
42 - BUG/MEDIUM: sched: allow a bit more TASK_HEAVY to be processed when needed
43 - MINOR: h3/hq-interop: handle no data in decode_qcs() with FIN set
44 - BUG/MINOR: mux-quic: transfer FIN on empty STREAM frame
45 - BUG/MINOR: mworker: prevent incorrect values in uptime
46 - MINOR: h3: add traces on decode_qcs callback
47 - BUG/MINOR: quic: Possible unexpected counter incrementation on send*() errors
48 - MINOR: quic: Add new traces about by connection RX buffer handling
49 - MINOR: quic: Move code to wakeup the timer task to avoid anti-amplication deadlock
50 - BUG/MINOR: quic: Really cancel the connection timer from qc_set_timer()
51 - MINOR: quic: Simplication for qc_set_timer()
52 - MINOR: quic: Kill the connections on ICMP (port unreachable) packet receipt
53 - MINOR: quic: Add traces to qc_kill_conn()
54 - MINOR: quic: Make qc_dgrams_retransmit() return a status.
55 - BUG/MINOR: quic: Missing call to task_queue() in qc_idle_timer_do_rearm()
56 - MINOR: quic: Add a trace to identify connections which sent Initial packet.
57 - MINOR: quic: Add <pto_count> to the traces
58 - BUG/MINOR: quic: Do not probe with too little Initial packets
59 - BUG/MINOR: quic: Wrong initialization for io_cb_wakeup boolean
60 - BUG/MINOR: quic: Do not drop too small datagrams with Initial packets
61 - BUG/MINOR: quic: Missing padding for short packets
62 - MINOR: quic: adjust request reject when MUX is already freed
63 - BUG/MINOR: quic: also send RESET_STREAM if MUX released
64 - BUG/MINOR: quic: acknowledge STREAM frame even if MUX is released
65 - BUG/MINOR: h3: prevent hypothetical demux failure on int overflow
66 - MEDIUM: h3: enforce GOAWAY by resetting higher unhandled stream
67 - MINOR: mux-quic: define qc_shutdown()
68 - MINOR: mux-quic: define qc_process()
69 - MINOR: mux-quic: implement client-fin timeout
70 - MEDIUM: mux-quic: properly implement soft-stop
71 - MINOR: quic: mark quic-conn as jobs on socket allocation
72 - MEDIUM: quic: trigger fast connection closing on process stopping
73 - MINOR: mux-h2/traces: do not log h2s pointer for dummy streams
74 - MINOR: mux-h2/traces: add a missing TRACE_LEAVE() in h2s_frt_handle_headers()
75 - BUG/MEDIUM: quic: Missing TX buffer draining from qc_send_ppkts()
76 - DOC: config: Fix description of options about HTTP connection modes
77 - DOC: config: Add the missing tune.fail-alloc option from global listing
78 - REGTESTS: Fix ssl_errors.vtc script to wait for connections close
79 - BUG/MINOR: cache: Cache response even if request has "no-cache" directive
80 - BUG/MINOR: cache: Check cache entry is complete in case of Vary
81 - BUILD: quic: 32-bits compilation issue with %zu in quic_rx_pkts_del()
82 - BUG/MINOR: ring: do not realign ring contents on resize
83 - BUILD: thead: Fix several 32 bits compilation issues with uint64_t variables
84 - BUG/MEDIUM: fd: avoid infinite loops in fd_add_to_fd_list and fd_rm_from_fd_list
85 - BUG/MEDIUM: h1-htx: Never copy more than the max data allowed during parsing
86 - DOC: config: Clarify the meaning of 'hold' in the 'resolvers' section
87 - BUG/MINOR: fd: used the update list from the fd's group instead of tgid
88 - BUG/MEDIUM: fd: make fd_delete() support being called from a different group
89 - CLEANUP: listener: only store conn counts for local threads
90 - MEDIUM: quic: improve fatal error handling on send
91 - MINOR: quic: consider EBADF as critical on send()
92 - BUG/MEDIUM: connection: Clear flags when a conn is removed from an idle list
93 - BUG/MINOR: mux-h1: Don't report an error on an early response close
94 - BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body
95 - BUG/MINOR: http-check: Skip C-L header for empty body when it's not mandatory
96 - MINOR: quic: simplify return path in send functions
97 - MINOR: quic: implement qc_notify_send()
98 - MINOR: quic: purge txbuf before preparing new packets
99 - MEDIUM: quic: implement poller subscribe on sendto error
100 - MINOR: quic: notify on send ready
101 - BUG/MINOR: http-ana: Don't increment conn_retries counter before the L7 retry
102 - BUG/MINOR: http-ana: Do a L7 retry on read error if there is no response
103 - BUG/MINOR: mxu-h1: Report a parsing error on abort with pending data
104 - BUG/MINOR: ssl: Use 'date' instead of 'now' in ocsp stapling callback
105 - MINOR: ssl: rename confusing ssl_bind_kws
106 - BUG/MINOR: config: crt-list keywords mistaken for bind ssl keywords
107 - BUG/MEDIUM: quic: properly handle duplicated STREAM frames
108 - BUG/MINOR: cli: fix CLI handler "set anon global-key" call
109 - BUG/MINOR: quic: Do not send too small datagrams (with Initial packets)
110 - MINOR: quic: Add a BUG_ON_HOT() call for too small datagrams
111 - BUG/MINOR: quic: Ensure to be able to build datagrams to be retransmitted
112 - BUG/MINOR: quic: v2 Initial packets decryption failed
113 - MINOR: quic: Add traces about QUIC TLS key update
114 - BUG/MINOR: quic: Remove force_ack for Initial,Handshake packets
115 - BUG/MINOR: quic: Ensure not to retransmit packets with no ack-eliciting frames
116 - BUG/MINOR: quic: Do not resend already acked frames
117 - BUG/MINOR: quic: Missing detections of amplification limit reached
118 - MINOR: quic: Send PING frames when probing Initial packet number space
119 - BUG/MEDIUM: quic: do not crash when handling STREAM on released MUX
120 - BUG/MAJOR: fd/thread: fix race between updates and closing FD
121 - BUG/MINOR: mux-quic: properly init STREAM frame as not duplicated
122 - MINOR: quic: Do not accept wrong active_connection_id_limit values
123 - MINOR: quic: Store the next connection IDs sequence number in the connection
124 - MINOR: quic: Typo fix for ACK_ECN frame
125 - MINOR: quic: RETIRE_CONNECTION_ID frame handling (RX)
126 - MINOR: quic: Useless TLS context allocations in qc_do_rm_hp()
127 - MINOR: quic: Add spin bit support
128 - MINOR: quic: Add transport parameters to "show quic"
129 - MINOR: h3: add traces on h3_init_uni_stream() error paths
130 - MINOR: quic: create a global list dedicated for closing QUIC conns
131 - MINOR: quic: handle new closing list in show quic
132 - MEDIUM: quic: release closing connections on stopping
133 - BUG/MINOR: quic: Wrong RETIRE_CONNECTION_ID sequence number check
134 - MINOR: fd/cli: report the polling mask in "show fd"
135 - MINOR: quic: Do not stress the peer during retransmissions of lost packets
136 - BUG/MINOR: init: properly detect NUMA bindings on large systems
137 - BUG/MINOR: thread: report thread and group counts in the correct order
138 - BUG/MAJOR: fd/threads: close a race on closing connections after takeover
139 - BUG/MINOR: mworker: use MASTER_MAXCONN as default maxconn value
140 - BUG/MINOR: quic: Missing listener accept queue tasklet wakeups
141 - MINOR: quic_sock: un-statify quic_conn_sock_fd_iocb()
142 - DOC/CLEANUP: fix typos
143
144 2023/02/14 : 2.7.3
145 - BUG/MINOR: jwt: Wrong return value checked
146 - BUG/MINOR: quic: Do not request h3 clients to close its unidirection streams
147 - MEDIUM: quic-sock: fix udp source address for send on listener socket
148 - BUG/MINOR: sink: make sure to always properly unmap a file-backed ring
149 - DEV: haring: add a new option "-r" to automatically repair broken files
150 - MINOR: connection: add a BUG_ON() to detect destroying connection in idle list
151 - MINOR: mux-quic/h3: send SETTINGS as soon as transport is ready
152 - BUG/MINOR: h3: fix GOAWAY emission
153 - BUG/MEDIUM: mux-quic: fix crash on H3 SETTINGS emission
154 - BUG/MEDIUM: hpack: fix incorrect huffman decoding of some control chars
155 - BUG/MINOR: log: release global log servers on exit
156 - BUG/MINOR: ring: release the backing store name on exit
157 - BUG/MINOR: sink: free the forwarding task on exit
158 - DEV: hpack: fix `trash` build regression
159 - MINOR: trace: add a TRACE_ENABLED() macro to determine if a trace is active
160 - MINOR: trace: add a trace_no_cb() dummy callback for when to use no callback
161 - MINOR: trace: add the long awaited TRACE_PRINTF()
162 - BUG/MINOR: fcgi-app: prevent 'use-fcgi-app' in default section
163 - BUG/MEDIUM: h3: do not crash if no buf space for trailers
164 - OPTIM: h3: skip buf realign if no trailer to encode
165 - MINOR: mux-quic/h3: define stream close callback
166 - BUG/MEDIUM: h3: handle STOP_SENDING on control stream
167 - BUG/MINOR: h3: reject RESET_STREAM received for control stream
168 - MINOR: h3: add missing traces on closure
169 - BUG/MEDIUM: ssl: wrong eviction from the session cache tree
170 - BUG/MINOR: h3: fix crash due to h3 traces
171 - BUG/MINOR: stats: use proper buffer size for http dump
172 - BUG/MINOR: stats: fix source buffer size for http dump
173 - BUG/MEDIUM: stats: fix resolvers dump
174 - BUG/MINOR: stats: fix ctx->field update in stats_dump_proxy_to_buffer()
175 - BUG/MINOR: stats: fix show stats field ctx for servers
176 - BUG/MINOR: stats: fix STAT_STARTED behavior with full htx
177 - MINOR: stats: add by HTTP version cumulated number of sessions and requests
178 - BUG/MINOR: stats: Prevent HTTP "other sessions" counter underflows
179 - MINOR: quic: remove fin from quic_stream frame type
180 - MINOR: quic: ensure offset is properly set for STREAM frames
181 - MINOR: quic: define new functions for frame alloc
182 - MINOR: quic: refactor frame deallocation
183 - MEDIUM: quic: implement a retransmit limit per frame
184 - MINOR: quic: add config for retransmit limit
185 - CLEANUP: quic: no need for atomics on packet refcnt
186 - BUG/MINOR: quic: Possible stream truncations under heavy loss
187 - BUG/MINOR: quic: Too big PTO during handshakes
188 - MINOR: quic: Add a trace about variable states in qc_prep_fast_retrans()
189 - BUG/MINOR: quic: Do not ignore coalesced packets in qc_prep_fast_retrans()
190 - MINOR: quic: When probing Handshake packet number space, also probe the Initial one
191 - BUG/MAJOR: quic: Possible crash when processing 1-RTT during 0-RTT session
192 - MEDIUM: quic: Remove qc_conn_finalize() from the ClientHello TLS callbacks
193 - BUG/MINOR: quic: Unchecked source connection ID
194 - BUG/MEDIUM: quic: do not split STREAM frames if no space
195 - MINOR: quic: Update version_information transport parameter to draft-14
196 - BUG/MINOR: ssl/crt-list: warn when a line is malformated
197 - BUG/MEDIUM: stick-table: do not leave entries in end of window during purge
198 - BUG/MINOR: clock: do not mix wall-clock and monotonic time in uptime calculation
199 - BUG/MEDIUM: cache: use the correct time reference when comparing dates
200 - DOC: config: fix option spop-check proxy compatibility
201 - DOC: config: 'http-send-name-header' option may be used in default section
202 - BUG/MINOR: h3: fix crash due to h3 traces
203 - MINOR: cfgparse/server: move (min/max)conn postparsing logic into dedicated function
204 - BUG/MINOR: server/add: ensure minconn/maxconn consistency when adding server
205 - BUG/MEDIUM: stconn: Schedule a shutw on shutr if data must be sent first
206 - BUG/MEDIUM: quic: fix crash when "option nolinger" is set in the frontend
207 - MINOR: quic: implement a basic "show quic" CLI handler
208 - MINOR: quic: display CIDs and state in "show quic"
209 - MINOR: quic: display socket info on "show quic"
210 - MINOR: quic: display infos about various encryption level on "show quic"
211 - MINOR: quic: display Tx stream info on "show quic"
212 - MINOR: quic: filter closing conn on "show quic"
213 - BUG/MINOR: quic: fix filtering of closing connections on "show quic"
214 - BUG/MINOR: quic: fix type bug on "show quic" for 32-bits arch
215 - BUG/MINOR: mworker: fix uptime for master process
216 - BUG/MINOR: clock/stats: also use start_time not start_date in HTML info
217 - BUG/MEDIUM: quic: Buffer overflow when looking through QUIC CLI keyword list
218 - DOC: proxy-protocol: fix wrong byte in provided example
219 - BUG/MINOR: quic: Wrong datagram dispatch because of qc_check_dcid()
220 - BUG/CRITICAL: http: properly reject empty http header field names
221
222 2023/01/20 : 2.7.2
223 - OPTIM: pool: split the read_mostly from read_write parts in pool_head
224 - REGTESTS: ssl: enable the ssl_reuse.vtc test for WolfSSL
225 - BUG/MEDIUM: mux-quic: fix double delete from qcc.opening_list
226 - BUG/MEDIUM: quic: properly take shards into account on bind lines
227 - BUG/MINOR: quic: do not allocate more rxbufs than necessary
228 - BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set
229 - BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats
230 - MINOR: httpclient: don't add body when istlen is empty
231 - MEDIUM: mux-quic: implement shutw
232 - MINOR: mux-quic: do not count stream flow-control if already closed
233 - MINOR: mux-quic: handle RESET_STREAM reception
234 - MEDIUM: mux-quic: implement STOP_SENDING emission
235 - MINOR: h3: use stream error when needed instead of connection
236 - CI: github: enable github api authentication for OpenSSL tags read
237 - BUG/MINOR: mux-quic: ignore remote unidirectional stream close
238 - CI: github: use the GITHUB_TOKEN instead of a manually generated token
239 - BUILD: makefile: build the features list dynamically
240 - BUILD: makefile: sort the features list
241 - BUILD: makefile: clean the wolfssl include and lib generation rules
242 - BUILD: makefile: make sure to also ignore SSL_INC when using wolfssl
243 - BUG/MINOR: debug: don't mask the TH_FL_STUCK flag before dumping threads
244 - MINOR: cfgparse-ssl: avoid a possible crash on OOM in ssl_bind_parse_npn()
245 - BUG/MINOR: stick-table: report the correct action name in error message
246 - CI: Improve headline in matrix.py
247 - CI: Add in-memory cache for the latest OpenSSL/LibreSSL
248 - CI: Use proper `if` blocks instead of conditional expressions in matrix.py
249 - CI: Unify the `GITHUB_TOKEN` name across matrix.py and vtest.yml
250 - CI: Explicitly check environment variable against `None` in matrix.py
251 - CI: Reformat `matrix.py` using `black`
252 - MINOR: config: add environment variables for default log format
253 - BUG/MINOR: http-fetch: Only fill txn status during prefetch if not already set
254 - BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned
255 - DOC: config: fix alphabetical ordering of http-after-response rules
256 - DOC: config: remove duplicated "http-response sc-set-gpt0" directive
257 - BUG/MINOR: proxy: free orgto_hdr_name in free_proxy()
258 - REGTEST: fix the race conditions in json_query.vtc
259 - REGTEST: fix the race conditions in add_item.vtc
260 - REGTEST: fix the race conditions in digest.vtc
261 - REGTEST: fix the race conditions in hmac.vtc
262 - BUG/MINOR: fd: avoid bad tgid assertion in fd_delete() from deinit()
263 - BUG/MINOR: http: Memory leak of http redirect rules' format string
264 - CLEANUP: htx: fix a typo in an error message of http_str_to_htx
265 - DOC: config: added optional rst-ttl argument to silent-drop in action lists
266 - DOC: management: add details on "Used" status
267 - DOC: management: add details about @system-ca in "show ssl ca-file"
268 - BUG/MINOR: mux-quic: fix transfer of empty HTTP response
269 - MINOR: mux-quic: add traces for flow-control limit reach
270 - MAJOR: mux-quic: rework stream sending priorization
271 - MEDIUM: h3: send SETTINGS before STREAM frames
272 - MINOR: mux-quic: use send-list for STOP_SENDING/RESET_STREAM emission
273 - MINOR: mux-quic: use send-list for immediate sending retry
274 - BUG/MINOR: h1-htx: Remove flags about protocol upgrade on non-101 responses
275 - BUG/MINOR: hlua: Fix Channel.line and Channel.data behavior regarding the doc
276 - BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action
277 - DEV: tcploop: add minimal support for unix sockets
278 - BUG/MEDIUM: peers: make "show peers" more careful about partial initialization
279 - BUG/MINOR: promex: Don't forget to consume the request on error
280 - BUG/MINOR: http-ana: Report SF_FINST_R flag on error waiting the request body
281 - BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
282 - BUG/MEDIUM: mux-h2: Don't send CANCEL on shutw when response length is unkown
283 - BUG/MINOR: http-ana: make set-status also update txn->status
284 - BUG/MINOR: listeners: fix suspend/resume of inherited FDs
285 - DOC: config: fix wrong section number for "protocol prefixes"
286 - DOC: config: fix aliases for protocol prefixes "udp4@" and "udp6@"
287 - DOC: config: mention the missing "quic4@" and "quic6@" in protocol prefixes
288 - MINOR: listener: also support "quic+" as an address prefix
289 - CLEANUP: stconn: always use se_fl_set_error() to set the pending error
290 - BUG/MEDIUM: stconn: also consider SE_FL_EOI to switch to SE_FL_ERROR
291 - MINOR: quic: Useless test about datagram destination addresses
292 - MINOR: quic: Disable the active connection migrations
293 - MINOR: quic: Add "no-quic" global option
294 - MINOR: sample: Add "quic_enabled" sample fetch
295 - MINOR: quic: Replace v2 draft definitions by those of the final 2 version
296 - BUG/MINOR: mux-fcgi: Correctly set pathinfo
297 - DOC: config: fix "Address formats" chapter syntax
298 - BUG/MEDIUM: jwt: Properly process ecdsa signatures (concatenated R and S params)
299 - BUG/MINOR: ssl: Fix compilation with OpenSSL 1.0.2 (missing ECDSA_SIG_set0)
300 - BUG/MINOR: listener: close tiny race between resume_listener() and stopping
301 - BUG/MEDIUM: fd/threads: fix again incorrect thread selection in wakeup broadcast
302 - BUG/MINOR: thread: always reload threads_enabled in loops
303 - MINOR: threads: add a thread_harmless_end() version that doesn't wait
304 - BUG/MEDIUM: debug/thread: make the debug handler not wait for !rdv_requests
305 - BUG/MINOR: bwlim: Check scope for period expr for set-bandwitdh-limit actions
306 - BUG/MINOR: bwlim: Fix parameters check for set-bandwidth-limit actions
307 - BUG/MINOR: h3: properly handle connection headers
308 - MINOR: h3: extend function for QUIC varint encoding
309 - MINOR: h3: implement TRAILERS encoding
310 - MINOR: h3: implement TRAILERS decoding
311 - BUG/MINOR: mux-h2: make sure to produce a log on invalid requests
312 - BUG/MINOR: mux-h2: add missing traces on failed headers decoding
313 - BUILD: hpack: include global.h for the trash that is needed in debug mode
314
315 2022/12/19 : 2.7.1
316 - BUG/MINOR: ssl: initialize SSL error before parsing
317 - BUG/MINOR: ssl: initialize WolfSSL before parsing
318 - BUG/MEDIIM: stconn: Flush output data before forwarding close to write side
319 - CI: github: reintroduce openssl 1.1.1
320 - CI: github: split ssl lib selection based on git branch
321 - BUG/MEDIUM: checks: do not reschedule a possibly running task on state change
322 - BUG/MINOR: checks: make sure fastinter is used even on forced transitions
323 - MINOR: mworker: display an alert upon a wait-mode exit
324 - BUG/MEDIUM: mworker: fix segv in early failure of mworker mode with peers
325 - BUG/MEDIUM: mworker: create the mcli_reload socketpairs in case of upgrade
326 - BUG/MINOR: checks: restore legacy on-error fastinter behavior
327 - BUG/MINOR: init/threads: continue to limit default thread count to max per group
328 - BUILD: atomic: atomic.h may need compiler.h on ARMv8.2-a
329 - BUILD: makefile/da: also clean Os/ in Device Atlas dummy lib dir
330 - BUG/MEDIUM: httpclient/lua: double LIST_DELETE on end of lua task
331 - CLEANUP: pools: move the write before free to the uaf-only function
332 - CLEANUP: pool: only include pool-os from pool.c not pool.h
333 - REORG: pool: move all the OS specific code to pool-os.h
334 - CLEANUP: pools: get rid of CONFIG_HAP_POOLS
335 - DEBUG: pool: show a few examples in -dMhelp
336 - MINOR: pools: make DEBUG_UAF a runtime setting
337 - BUG/MINOR: promex: create haproxy_backend_agg_server_status
338 - MINOR: promex: introduce haproxy_backend_agg_check_status
339 - DOC: promex: Add missing backend metrics
340 - BUG/MAJOR: fcgi: Fix uninitialized reserved bytes
341 - REGTESTS: fix the race conditions in iff.vtc
342 - REGTESTS: startup: check maxconn computation
343 - BUG/MINOR: startup: don't use internal proxies to compute the maxconn
344 - REGTESTS: startup: change the expected maxconn to 11000
345 - CI: github: set ulimit -n to a greater value
346 - REGTESTS: startup: activate automatic_maxconn.vtc
347 - CLEANUP: ssl: remove check on srv->proxy
348 - BUG/MEDIUM: freq-ctr: Don't compute overshoot value for empty counters
349 - BUG/MEDIUM: resolvers: Use tick_first() to update the resolvers task timeout
350 - REGTESTS: startup: add alternatives values in automatic_maxconn.vtc
351 - BUG/MEDIUM: h3: reject request with invalid header name
352 - BUG/MEDIUM: h3: reject request with invalid pseudo header
353 - MINOR: http: extract content-length parsing from H2
354 - BUG/MEDIUM: h3: parse content-length and reject invalid messages
355 - MINOR: debug: support pool filtering on "debug dev memstats"
356 - MINOR: debug: add a balance of alloc - free at the end of the memstats dump
357 - CI: github: remove redundant ASAN loop
358 - CI: github: split matrix for development and stable branches
359 - BUILD: peers: peers-t.h depends on stick-table-t.h
360 - MINOR: quic: remove qc from quic_rx_packet
361 - MINOR: quic: complete traces in qc_rx_pkt_handle()
362 - MINOR: quic: extract datagram parsing code
363 - MINOR: tools: add port for ipcmp as optional criteria
364 - MINOR: quic: detect connection migration
365 - MINOR: quic: ignore address migration during handshake
366 - MINOR: quic: startup detect for quic-conn owned socket support
367 - MINOR: quic: test IP_PKTINFO support for quic-conn owned socket
368 - MINOR: quic: define config option for socket per conn
369 - MINOR: quic: allocate a socket per quic-conn
370 - MINOR: quic: use connection socket for emission
371 - MEDIUM: quic: use quic-conn socket for reception
372 - MEDIUM: quic: move receive out of FD handler to quic-conn io-cb
373 - MINOR: mux-quic: rename duplicate function names
374 - MEDIUM: quic: requeue datagrams received on wrong socket
375 - MINOR: quic: reconnect quic-conn socket on address migration
376 - BUG/MINOR: quic: fix fd leak on startup check quic-conn owned socket
377 - BUG/MINOR: quic: properly handle alloc failure in qc_new_conn()
378 - BUG/MINOR: quic: handle alloc failure on qc_new_conn() for owned socket
379 - CLEANUP: mux-quic: remove unused attribute on qcs_is_close_remote()
380 - BUG/MINOR: mux-quic: remove qcs from opening-list on free
381 - BUG/MINOR: mux-quic: handle properly alloc error in qcs_new()
382 - LICENSE: wurfl: clarify the dummy library license.
383 - BUG/MEDIUM: mux-h1: Don't release H1 stream upgraded from TCP on error
384 - BUG/MINOR: mux-h1: Fix test instead a BUG_ON() in h1_send_error()
385 - BUG/MEDIUM: h3: fix cookie header parsing
386 - BUG/MINOR: h3: fix memleak on HEADERS parsing failure
387 - MINOR: h3: check return values of htx_add_* on headers parsing
388 - BUG/MINOR: ssl: Fix memory leak of find_chain in ssl_sock_load_cert_chain
389 - MINOR: stats: provide ctx for dumping functions
390 - MINOR: stats: introduce stats field ctx
391 - BUG/MINOR: stats: fix show stat json buffer limitation
392 - BUG/MINOR: quic: fix crash on PTO rearm if anti-amplification reset
393 - REGTESTS: startup: disable automatic_maxconn.vtc
394 - BUG/MEDIUM: tests: use tmpdir to create UNIX socket
395 - BUG/MINOR: mux-h1: Report EOS on parsing/internal error for not running stream
396 - BUG/MINOR:: mux-h1: Never handle error at mux level for running connection
397 - BUG/MEDIUM: stats: Rely on a local trash buffer to dump the stats
398
399 2022/12/01 : 2.7.0
400 - MINOR: ssl: forgotten newline in error messages on ca-file
401 - BUG/MINOR: ssl: shut the ca-file errors emitted during httpclient init
402 - DOC: config: provide some configuration hints for "http-reuse"
403 - DOC: config: refer to section about quoting in the "add_item" converter
404 - DOC: halog: explain how to use -ac and -ad in the help message
405 - DOC: config: clarify the fact that SNI should not be used in HTTP scenarios
406 - DOC: config: mention that a single monitor-uri rule is supported
407 - DOC: config: explain how default matching method for ACL works
408 - DOC: config: clarify the fact that "retries" is not just for connections
409 - BUILD: halog: fix missing double-quote at end of help line
410 - DOC: config: clarify the -m dir and -m dom pattern matching methods
411 - MINOR: activity: report uptime in "show activity"
412 - REORG: activity/cli: move the "show activity" handler to activity.c
413 - DEV: poll: add support for epoll
414 - DEV: tcploop: centralize the polling code into wait_for_fd()
415 - DEV: tcploop: add support for POLLRDHUP when supported
416 - DEV: tcploop: do not report an error on POLLERR
417 - DEV: tcploop: add optional support for epoll
418 - SCRIPTS: announce-release: add a link to the data plane API
419 - CLEANUP: stick-table: fill alignment holes in the stktable struct
420 - MINOR: stick-table: store a per-table hash seed and use it
421 - MINOR: stick-table: show the shard number in each entry's "show table" output
422 - CLEANUP: ncbuf: remove ncb_blk args by value
423 - CLEANUP: ncbuf: inline small functions
424 - CLEANUP: ncbuf: use standard BUG_ON with DEBUG_STRICT
425 - BUG/MINOR: quic: Endless loop during retransmissions
426 - MINOR: mux-h2: add the expire task and its expiration date in "show fd"
427 - BUG/MINOR: peers: always initialize the stksess shard value
428 - REGTESTS: fix peers-related regtests regarding "show table"
429 - BUG/MEDIUM: mux-h1: Close client H1C on EOS when there is no output data
430 - MINOR: stick-table: change the API of the function used to calculate the shard
431 - CLEANUP: peers: factor out the key len calculation in received updates
432 - BUG/MINOR: peers: always update the stksess shard number on incoming updates
433 - CLEANUP: assorted typo fixes in the code and comments
434 - MINOR: mux-h1: add the expire task and its expiration date in "show fd"
435 - MINOR: debug: improve error handling on the memstats command parser
436 - BUILD: quic: allow build with USE_QUIC and USE_OPENSSL_WOLFSSL
437 - CLEANUP: anon: clarify the help message on "debug dev hash"
438 - MINOR: debug: relax access restrictions on "debug dev hash" and "memstats"
439 - SCRIPTS: run-regtests: add a version check
440 - MINOR: version: mention that it's stable now
441
442 2022/11/24 : 2.7-dev10
443 - MEDIUM: tcp-act: add parameter rst-ttl to silent-drop
444 - BUG/MAJOR: quic: Crash upon retransmission of dgrams with several packets
445 - MINOR: cli: print parsed command when not found
446 - BUG/MAJOR: quic: Crash after discarding packet number spaces
447 - CLEANUP: quic: replace "choosen" with "chosen" all over the code
448 - MINOR: cli/pools: store "show pools" results into a temporary array
449 - MINOR: cli/pools: add sorting capabilities to "show pools"
450 - MINOR: cli/pools: add pool name filtering capability to "show pools"
451 - DOC: configuration: fix quic prefix typo
452 - MINOR: quic: report error if force-retry without cluster-secret
453 - MINOR: global: generate random cluster.secret if not defined
454 - BUG/MINOR: resolvers: do not run the timeout task when there's no resolution
455 - BUG/MINOR: server/idle: at least use atomic stores when updating max_used_conns
456 - MINOR: server/idle: make the next_takeover index per-tgroup
457 - BUILD: listener: fix build warning on global_listener_rwlock without threads
458 - BUG/MAJOR: sched: protect task during removal from wait queue
459 - BUILD: sched: fix build with DEBUG_THREAD with the previous commit
460 - DOC: quic: add note on performance issue with listener contention
461 - BUG/MINOR: cfgparse-listen: fix ebpt_next_dup pointer dereference on proxy "from" inheritance
462 - BUG/MINOR: log: fix parse_log_message rfc5424 size check
463 - CLEANUP: arg: remove extra check in make_arg_list arg escaping
464 - CLEANUP: tools: extra check in utoa_pad
465 - MINOR: h1: Consider empty port as invalid in authority for CONNECT
466 - MINOR: http: Considere empty ports as valid default ports
467 - BUG/MINOR: http-htx: Normalized absolute URIs with an empty port
468 - BUG/MINOR: h1: Replace authority validation to conform RFC3986
469 - REG-TESTS: http: Add more tests about authority/host matching
470 - BUG/MINOR: http-htx: Don't consider an URI as normalized after a set-uri action
471 - BUG/MEDIUM: mux-h1: Don't release H1C on timeout if there is a SC attached
472 - BUG/MEDIUM: mux-h1: Subscribe for reads on error on sending path
473 - BUILD: http-htx: Silent build error about a possible NULL start-line
474 - DOC: configuration.txt: add default_value for table_idle signature
475 - BUILD: ssl-sock: Silent error about NULL deref in ssl_sock_bind_verifycbk()
476 - BUG/MEDIUM: mux-h1: Remove H1C_F_WAIT_NEXT_REQ flag on a next request
477 - BUG/MINOR: mux-h1: Fix handling of 408-Request-Time-Out
478 - MINOR: mux-h1: Remove H1C_F_WAIT_NEXT_REQ in functions handling errors
479 - MINOR: mux-h1: Avoid useless call to h1_send() if no error is sent
480 - DOC: configuration.txt: fix typo in table_idle signature
481 - BUILD: stick-tables: fix build breakage in xxhash on older compilers
482 - BUILD: compiler: include compiler's definitions before ours
483 - BUILD: quic: global.h is needed in cfgparse-quic
484 - CLEANUP: tools: do not needlessly include xxhash nor cli from tools.h
485 - BUILD: flags: really restrict the cases where flags are exposed
486 - BUILD: makefile: minor reordering of objects by build time
487 - BUILD: quic: silence two invalid build warnings at -O1 with gcc-6.5
488 - BUILD: quic: use openssl-compat.h instead of openssl/ssl.h
489 - MEDIUM: ssl: add minimal WolfSSL support with OpenSSL compatibility mode
490 - MINOR: sample: make the rand() sample fetch function use the statistical_prng
491 - MINOR: auth: silence null dereference warning in check_user()
492 - CLEANUP: peers: fix format string for status messages (int signedness)
493 - CLEANUP: qpack: fix format string in debugging code (int signedness)
494 - CLEANUP: qpack: properly use the QPACK macros not HPACK ones in debug code
495 - BUG/MEDIUM: quic: fix datagram dropping on queueing failed
496
497 2022/11/18 : 2.7-dev9
498 - BUILD: quic: QUIC mux build fix for 32-bit build
499 - BUILD: scripts: disable tests build on QuicTLS build
500 - BUG/MEDIUM: httpclient: segfault when the httpclient parser fails
501 - BUILD: ssl_sock: fix null dereference for QUIC build
502 - BUILD: quic: Fix build for m68k cross-compilation
503 - BUG/MINOR: quic: fix buffer overflow on retry token generation
504 - MINOR: quic: add version field on quic_rx_packet
505 - MINOR: quic: extend pn_offset field from quic_rx_packet
506 - MINOR: quic: define first packet flag
507 - MINOR: quic: extract connection retrieval
508 - MINOR: quic: split and rename qc_lstnr_pkt_rcv()
509 - MINOR: quic: refactor packet drop on reception
510 - MINOR: quic: extend Retry token check function
511 - BUG/MINOR: log: Preserve message facility when the log target is a ring buffer
512 - BUG/MINOR: ring: Properly parse connect timeout
513 - BUG/MEDIUM: httpclient/lua: crash when the lua task timeout before the httpclient
514 - BUG/MEDIUM: httpclient: check if the httpclient was released in the IO handler
515 - REGTESTS: httpclient/lua: test the lua task timeout with the httpclient
516 - CI: github: dump the backtrace of coredumps in the alpine container
517 - BUILD: Makefile: add "USE_SHM_OPEN" on the linux-musl target
518 - DOC: lua: add a note about compression w/ httpclient
519 - CLEANUP: mworker/cli: rename the status function to loadstatus
520 - MINOR: mworker/cli: does no try to dump the startup-logs w/o USE_SHM_OPEN
521 - MINOR: list: fixing typo in MT_LIST_LOCK_ELT
522 - DOC/MINOR: list: fixing MT_LIST_LOCK_ELT macro documentation
523 - MINOR: list: adding MT_LIST_APPEND_LOCKED macro
524 - BUG/MINOR: mux-quic: complete flow-control for uni streams
525 - BUG/MEDIUM: compression: handle rewrite errors when updating response headers
526 - MINOR: quic: do not crash on unhandled sendto error
527 - MINOR: quic: display unknown error sendto counter on stat page
528 - MINOR: peers: Support for peer shards
529 - MINOR: peers: handle multiple resync requests using shards
530 - BUG/MINOR: sink: Only use backend capability for the sink proxies
531 - BUG/MINOR: sink: Set default connect/server timeout for implicit ring buffers
532 - MINOR: ssl: add the SSL error string when failing to load a certificate
533 - MINOR: ssl: add the SSL error string before the chain
534 - MEDIUM: ssl: be stricter about chain error
535 - BUG/MAJOR: stick-table: don't process store-response rules for applets
536 - MINOR: quic: remove unnecessary quic_session_accept()
537 - BUG/MINOR: quic: fix subscribe operation
538 - BUG/MINOR: log: fixing bug in tcp syslog_io_handler Octet-Counting
539 - MINOR: ssl: dump the SSL string error when SSL_CTX_use_PrivateKey() failed.
540 - MINOR: quic: add counter for interrupted reception
541 - BUG/MINOR: quic: fix race condition on datagram purging
542 - CI: add monthly gcc cross compile jobs
543 - CLEANUP: assorted typo fixes in the code and comments
544 - CLEANUP: ssl: remove dead code in ssl_sock_load_pem_into_ckch()
545 - BUG/MINOR: httpclient: fixed memory allocation for the SSL ca_file
546 - BUG/MINOR: ssl: Memory leak of DH BIGNUM fields
547 - BUG/MINOR: ssl: Memory leak of AUTHORITY_KEYID struct when loading issuer
548 - BUG/MINOR: ssl: ocsp structure not freed properly in case of error
549 - CI: switch to the "latest" LibreSSL
550 - CI: enable QUIC for LibreSSL builds
551 - BUG/MEDIUM: ssl: Verify error codes can exceed 63
552 - MEDIUM: ssl: {ca,crt}-ignore-err can now use error constant name
553 - MINOR: ssl: x509_v_err_str converter transforms an integer to a X509_V_ERR name
554 - CLEANUP: cli: rename dynamic error printing state
555 - MINOR: cli: define usermsgs print context
556 - MINOR: server: clear prefix on stderr logs after add server
557 - BUG/MINOR: ssl: bind_conf is uncorrectly accessed when using QUIC
558 - BUILD: ssl_utils: fix build on gcc versions before 8
559 - BUILD: debug: remove unnecessary quotes in HA_WEAK() calls
560 - CI: emit the compiler's version in the build reports
561 - IMPORT: xxhash: update xxHash to version 0.8.1
562 - IMPORT: slz: declare len to fix debug build when optimal match is enabled
563 - IMPORT: slz: mention the potential header in slz_finish()
564 - IMPORT: slz: define and use a __fallthrough statement for switch/case
565 - BUILD: compiler: add a macro to detect if another one is set and equals 1
566 - BUILD: compiler: add a default definition for __has_attribute()
567 - BUILD: compiler: define a __fallthrough statement for switch/case
568 - BUILD: sample: use __fallthrough in smp_is_rw() and smp_dup()
569 - BUILD: quic: use __fallthrough in quic_connect_server()
570 - BUILD: ssl/crt-list: use __fallthrough in cli_io_handler_add_crtlist()
571 - BUILD: ssl: use __fallthrough in cli_io_handler_commit_{cert,cafile_crlfile}()
572 - BUILD: ssl: use __fallthrough in cli_io_handler_tlskeys_files()
573 - BUILD: hlua: use __fallthrough in hlua_post_init_state()
574 - BUILD: stream: use __fallthrough in stats_dump_full_strm_to_buffer()
575 - BUILD: tcpcheck: use __fallthrough in check_proxy_tcpcheck()
576 - BUILD: stats: use __fallthrough in stats_dump_proxy_to_buffer()
577 - BUILD: peers: use __fallthrough in peer_io_handler()
578 - BUILD: hash: use __fallthrough in hash_djb2()
579 - BUILD: tools: use __fallthrough in url_decode()
580 - BUILD: args: use __fallthrough in make_arg_list()
581 - BUILD: acl: use __fallthrough in parse_acl_expr()
582 - BUILD: spoe: use __fallthrough in spoe_handle_appctx()
583 - BUILD: logs: use __fallthrough in build_log_header()
584 - BUILD: check: use __fallthrough in __health_adjust()
585 - BUILD: http_act: use __fallthrough in parse_http_del_header()
586 - BUILD: h1_htx: use __fallthrough in h1_parse_chunk()
587 - BUILD: vars: use __fallthrough in var_accounting_{diff,add}()
588 - BUILD: map: use __fallthrough in cli_io_handler_*()
589 - BUILD: compression: use __fallthrough in comp_http_payload()
590 - BUILD: stconn: use __fallthrough in various shutw() functions
591 - BUILD: prometheus: use __fallthrough in promex_dump_metrics() and IO handler()
592 - CLEANUP: ssl: remove printf in bind_parse_ignore_err
593 - BUG/MINOR: ssl: crt-ignore-err memory leak with 'all' parameter
594 - BUG/MINOR: ssl: Fix potential overflow
595 - CLEANUP: stick-table: remove the unused table->exp_next
596 - OPTIM: stick-table: avoid atomic ops in stktable_requeue_exp() when possible
597 - BUG/MEDIUM: stick-table: fix a race condition when updating the expiration task
598 - MEDIUM: http-ana: remove set-cookie2 support
599 - BUG/MEDIUM: wdt/clock: properly handle early task hangs
600 - MINOR: deinit: add a "quick-exit" option to bypass the deinit step
601 - OPTIM: ebtree: make ebmb_insert_prefix() keep a copy the new node's pfx
602 - OPTIM: ebtree: make ebmb_insert_prefix() keep a copy the new node's key
603 - MINOR: ssl: ssl_sock_load_cert_chain() display error strings
604 - MINOR: ssl: reintroduce ERR_GET_LIB(ret) == ERR_LIB_PEM in ssl_sock_load_pem_into_ckch()
605 - BUG/MINOR: http-htx: Fix error handling during parsing http replies
606 - BUG/MINOR: resolvers: Don't wait periodic resolution on healthcheck failure
607 - BUG/MINOR: resolvers: Set port before IP address when processing SRV records
608 - BUG/MINOR: mux-fcgi: Be sure to send empty STDING record in case of zero-copy
609 - BUG/MEDIUM: mux-fcgi: Avoid value length overflow when it doesn't fit at once
610 - BUG/MINOR: ssl: SSL_load_error_strings might not be defined
611 - MINOR: pool/debug: create a new pool_alloc_flag() macro
612 - MINOR: dynbuf: switch allocation and release to macros to better track users
613 - BUG/MINOR: mux-h1: Do not send a last null chunk on body-less answers
614 - REG-TESTS: cache: Remove T-E header for 304-Not-Modified responses
615 - DOC: config: fix alphabetical ordering of global section
616 - MINOR: trace: split the CLI "trace" parser in CLI vs statement
617 - MEDIUM: trace: create a new "trace" statement in the "global" section
618 - BUG/MEDIUM: ring: fix creation of server in uninitialized ring
619 - BUILD: quic: fix dubious 0-byte overflow on qc_release_lost_pkts
620 - BUILD: makefile: mark poll and tcploop targets as phony
621 - BUILD: makefile: properly pass CC to sub-projects
622 - BUILD: makefile: move default verbosity settings to include/make/verbose.mk
623 - BUILD: makefile: use $(cmd_MAKE) in quiet mode
624 - BUILD: makefile: move the compiler option detection stuff to compiler.mk
625 - DEV: poll: make the connect() step an action as well
626 - DEV: poll: strip the "do_" prefix from reported function names
627 - DEV: poll: indicate the FD's side in front of its value
628 - BUG/MINOR: pool/cli: use ullong to report total pool usage in bytes
629 - MINOR: mux-h1: Remove usless code inside shutr callback
630 - CLEANUP: mux-h1; Rename H1S_F_ERROR flag into H1S_F_ERROR_MASK
631 - REORG: mux-h1: Reorg the H1C structure
632 - CLEANUP: mux-h1: Rename H1C_F_ST_ERROR and H1C_F_ST_SILENT_SHUT flags
633 - MINOR: mux-h1: Add a dedicated enum to deal with H1 connection state
634 - MEDIUM: mux-h1: Handle H1C states via its state field instead of H1C_F_ST_*
635 - MINOR: mux-h1: Don't handle subscribe for reads in h1_process_demux()
636 - CLEANUP: mux-h1: Rename H1C_F_ERR_PENDING into H1C_F_ABRT_PENDING
637 - MINOR: mux-h1: Add flag on H1 stream to deal with internal errors
638 - MEDIUM: mux-h1: Rely on the H1C to deal with shutdown for reads
639 - CLEANUP: mux-h1: Reorder H1 connection flags to avoid holes
640 - MEDIUM: mux-h1: Don't report a final error whe a message is aborted
641 - MEDIUM: mux-pt: Don't always set a final error on SE on the sending path
642 - MEDIUM: mux-h2: Introduce flags to deal with connection read/write errors
643 - CLEANUP: mux-h2: Remove unused fields in h2c structures
644 - MEDIUM: mux-fcgi: Introduce flags to deal with connection read/write errors
645 - MINOR: sconn: Set SE_FL_ERROR only when there is no more data to read
646 - MINOR: mux-h1: Rely on a H1S flag to know a WS key was found or not
647 - DOC: lua-api: Remove warning about the lua filters
648 - BUG/MEDIUM: listener: Fix race condition when updating the global mngmt task
649 - CLEANUP: listener: Remove useless task_queue from manage_global_listener_queue
650 - BUG/MINOR: mux-h1: Fix error handling when H1S allocation failed on client side
651 - DOC: internal: commit notes about polling states and flags
652 - DOC: internal: commit notes about polling states and flags on connect()
653 - CLEANUP: mux-h1: Don't test h1c in h1_shutw_conn()
654 - BUG/MINOR: http_ana/txn: don't re-initialize txn and req var lists
655 - BUG/MEDIUM: raw-sock: Don't report connection error if something was received
656 - BUG/MINOR: ssl: don't initialize the keylog callback when not required
657 - BUILD: Makefile: enable USE_SHM_OPEN by default on freebsd
658 - BUG/MEDIUM: peers: messages about unkown tables not correctly ignored
659 - MINOR: cfgparse: Always check the section position
660 - MEDIUM: thread: Restric nbthread/thread-group(s) to very first global sections
661 - BUILD: peers: Remove unused variables
662 - MINOR: ncbuf: complete doc for ncb_advance()
663 - BUG/MEDIUM: quic: fix unsuccessful handshakes on ncb_advance error
664 - BUG/MEDIUM: quic: fix memleak for out-of-order crypto data
665 - MINOR: quic: complete traces/debug for handshake
666
667 2022/10/14 : 2.7-dev8
668 - BUG/MINOR: checks: update pgsql regex on auth packet
669 - DOC: config: Fix pgsql-check documentation to make user param mandatory
670 - CLEANUP: mux-quic: remove usage of non-standard ull type
671 - CLEANUP: quic: remove global var definition in quic_tls header
672 - BUG/MINOR: quic: adjust quic_tls prototypes
673 - CLEANUP: quic: fix headers
674 - CLEANUP: quic: remove unused function prototype
675 - CLEANUP: quic: remove duplicated varint code from xprt_quic.h
676 - CLEANUP: quic: create a dedicated quic_conn module
677 - BUG/MINOR: mux-quic: ignore STOP_SENDING for locally closed stream
678 - BUG/MEDIUM: lua: Don't crash in hlua_lua2arg_check on failure
679 - BUG/MEDIUM: lua: handle stick table implicit arguments right.
680 - BUILD: h1: silence an initiialized warning with gcc-4.7 and -Os
681 - MINOR: fd: add a new function to only raise RLIMIT_NOFILE
682 - MINOR: init: do not try to shrink existing RLIMIT_NOFIlE
683 - BUG/MINOR: http-fetch: Update method after a prefetch in smp_fetch_meth()
684 - BUILD: http_fetch: silence an uninitiialized warning with gcc-4/5/6 at -Os
685 - BUG/MINOR: hlua: hlua_channel_insert_data() behavior conflicts with documentation
686 - MINOR: quic: limit usage of ssl_sock_ctx in favor of quic_conn
687 - MINOR: mux-quic: check quic-conn return code on Tx
688 - CLEANUP: quic: fix indentation
689 - MEDIUM: quic: retrieve frontend destination address
690 - CLEANUP: Reapply ist.cocci (2)
691 - CLEANUP: Reapply strcmp.cocci
692 - CLEANUP: quic/receiver: remove the now unused tx_qring list
693 - BUG/MINOR: quic: set IP_PKTINFO socket option for QUIC receivers only
694 - MINOR: hlua: some luaL_checktype() calls were not guarded with MAY_LJMP
695 - DOC: configuration: missing 'if' in tcp-request content example
696 - MINOR: hlua: removing ambiguous lua_pushvalue with 0 index
697 - BUG/MAJOR: stick-tables: do not try to index a server name for applets
698 - MINOR: plock: support disabling exponential back-off
699 - MINOR: freq_ctr: use the thread's local time whenever possible
700 - MEDIUM: stick-table: switch the table lock to rwlock
701 - MINOR: stick-table: do not take an exclusive lock when downing ref_cnt
702 - MINOR: stick-table: move the write lock inside stktable_touch_with_exp()
703 - MEDIUM: stick-table: only take the lock when needed in stktable_touch_with_exp()
704 - MEDIUM: stick-table: make stksess_kill_if_expired() avoid the exclusive lock
705 - MEDIUM: stick-table: return inserted entry in __stktable_store()
706 - MEDIUM: stick-table: free newly allocated stkess if it couldn't be inserted
707 - MEDIUM: stick-table: switch to rdlock in stktable_lookup() and lookup_key()
708 - MEDIUM: stick-table: make stktable_get_entry() look up under a read lock
709 - MEDIUM: stick-table: do not take a lock to update t->current anymore.
710 - MEDIUM: stick-table: make stktable_set_entry() look up under a read lock
711 - MEDIUM: stick-table: requeue the expiration task out of the exclusive lock
712 - MINOR: stick-table: split stktable_store() between key and requeue
713 - MEDIUM: stick-table: always use atomic ops to requeue the table's task
714 - MEDIUM: stick-table: requeue the wakeup task out of the write lock
715 - BUG/MINOR: stick-table: fix build with DEBUG_THREAD
716 - REORG: mux-fcgi: Extract flags and enums into mux_fcgi-t.h
717 - MINOR: flags/mux-fcgi: Decode FCGI connection and stream flags
718 - BUG/MEDIUM: mux-h1: Add connection error handling when reading/sending on a pipe
719 - BUG/MEDIUM: mux-h1: Handle abort with an incomplete message during parsing
720 - BUG/MINOR: server: make sure "show servers state" hides private bits
721 - MINOR: checks: use the lighter PRNG for spread checks
722 - MEDIUM: checks: spread the checks load over random threads
723 - CI: SSL: use proper version generating when "latest" semantic is used
724 - CI: SSL: temporarily stick to LibreSSL=3.5.3
725 - MINOR: quic: New quic_cstream object implementation
726 - MINOR: quic: Extract CRYPTO frame parsing from qc_parse_pkt_frms()
727 - MINOR: quic: Use a non-contiguous buffer for RX CRYPTO data
728 - BUG/MINOR: quic: Stalled 0RTT connections with big ClientHello TLS message
729 - MINOR: quic: Split the secrets key allocation in two parts
730 - CLEANUP: quic: remove unused rxbufs member in receiver
731 - CLEANUP: quic: improve naming for rxbuf/datagrams handling
732 - MINOR: quic: implement datagram cleanup for quic_receiver_buf
733 - MINOR: ring: ring_cast_from_area() cast from an allocated area
734 - MINOR: buffers: split b_force_xfer() into b_cpy() and b_force_xfer()
735 - MINOR: logs: startup-logs can use a shm for logging the reload
736 - MINOR: mworker/cli: reload command displays the startup-logs
737 - MEDIUM: quic: respect the threads assigned to a bind line
738 - DOC: management: update the "reload" command of the master CLI
739 - BUILD: ssl_sock: bind_conf uninitialized in ssl_sock_bind_verifycbk()
740 - BUG/MEDIUM: httpclient: Don't set EOM flag on an empty HTX message
741 - MINOR: httpclient/lua: Don't set req_payload callback if body is empty
742 - DOC/CLEANUP: lua-api: some minor corrections
743 - DOC: lua-api: updating toolbox link
744 - DOC/CLEANUP: lua-api: removing duplicate core.proxies attribute
745 - DOC: management: add forgotten "show startup-logs"
746 - DOC: management: "show startup-logs" for master CLI
747 - CI: Replace the deprecated `::set-output` command by writing to $GITHUB_OUTPUT in matrix.py
748 - CI: Replace the deprecated `::set-output` command by writing to $GITHUB_OUTPUT in workflow definition
749
750 2022/10/03 : 2.7-dev7
751 - BUG/MEDIUM: mux-quic: fix nb_hreq decrement
752 - CLEANUP: httpclient: deleted unused variables
753 - MINOR: httpclient: enabled the use of SNI presets
754 - OPTIM: hpack-huff: reduce the cache footprint of the huffman decoder
755 - BUG/MINOR: mux-quic: do not keep detached qcs with empty Tx buffers
756 - REORG: mux-quic: extract traces in a dedicated source file
757 - REORG: mux-quic: export HTTP related function in a dedicated file
758 - MINOR: mux-quic: refactor snd_buf
759 - BUG/MEDIUM: mux-quic: properly trim HTX buffer on snd_buf reset
760 - BUG/MINOR: mux-h1: Account consumed output data on synchronous connection error
761 - BUG/MINOR: log: improper behavior when escaping log data
762 - CLEANUP: tools: removing escape_chunk() function
763 - MINOR: clock: split local and global date updates
764 - MINOR: pollers: only update the local date during busy polling
765 - MINOR: clock: do not update the global date too often
766 - REGTESTS: 4be_1srv_smtpchk_httpchk_layer47errors: Return valid SMTP replies
767 - MINOR: smtpchk: Update expect rule to fully match replies to EHLO commands
768 - BUG/MINOR: smtpchk: SMTP Service check should gracefully close SMTP transaction
769 - MINOR: list: documenting mt_list_for_each_entry_safe() macro
770 - CLEANUP: list: Fix mt_list_for_each_entry_safe indentation
771 - BUG/MINOR: hlua: Remove \n in Lua error message built with memprintf
772 - MINOR: hlua: Allow argument on lua-lod(-per-thread) directives
773 - BUG/MINOR: anon: memory illegal accesses in tools.c with hash_anon and hash_ipanon
774 - MEDIUM: mworker/cli: keep the connection of the FD that ask for a reload
775 - BUG/MINOR: hlua: fixing ambiguous sizeof in hlua_load_per_thread
776 - MINOR: mworker/cli: replace close() by fd_delete()
777 - MINOR: mworker: store and shows loading status
778 - MINOR: mworker: mworker_cli_proxy_new_listener() returns a bind_conf
779 - MINOR: mworker: stores the mcli_reload bind_conf
780 - MINOR: mworker/cli: the mcli_reload bind_conf only send the reload status
781 - DOC: management: describe the new reload command behavior
782 - CLEANUP: list: fix again some style issues in the recent comments
783 - BUG/MINOR: stream: Perform errors handling in right order in stream_new()
784 - BUG/MEDIUM: stconn: Reset SE descriptor when we fail to create a stream
785 - BUG/MEDIUM: resolvers: Remove aborted resolutions from query_ids tree
786 - DOC: management: add timeout on the "reload" command
787 - BUG/MINOR: ring: fix the size check in ring_make_from_area()
788 - BUG/MINOR: config: don't count trailing spaces as empty arg
789 - Revert "BUG/MINOR: config: don't count trailing spaces as empty arg"
790 - BUG/MINOR: hlua: fixing hlua_http_msg_del_data behavior
791 - BUG/MINOR: hlua: fixing hlua_http_msg_insert_data behavior
792 - MINOR: cli: Add anonymization on a missed element for 'show sess all'
793 - MINOR: cli: remove error message with 'set anon on|off'
794 - MINOR: tools: modify hash_ipanon in order to use it in cli
795 - MINOR: cli: use hash_ipanon to anonymized address
796 - MINOR: cli: Add an anonymization on a missed element in 'show server state'
797 - MINOR: config: correct errors about argument number in condition in cfgparse.c
798 - MINOR: config: Add other keywords when dump the anonymized configuration file
799 - MINOR: config: Add option line when the configuration file is dumped
800 - MINOR: cli: correct commentary and replace 'set global-key' name
801 - MINOR: tools: Impprove hash_ipanon to support dgram sockets and port offsets
802 - MINOR: tools: Impprove hash_ipanon to not hash FD-based addresses
803 - BUG/MINOR: hlua: _hlua_http_msg_delete incorrect behavior when offset is used
804 - DOC: management: httpclient can resolve server names in URLs
805 - BUG/MINOR: hlua: prevent crash when loading numerous arguments using lua-load(per-thread)
806 - DOC/CLEANUP: lua-api: removing duplicate date functions doc
807 - MINOR: hlua: ambiguous lua_pushvalue with 0 index
808 - BUG/MINOR: config: don't count trailing spaces as empty arg (v2)
809 - BUG/MEDIUM: config: count line arguments without dereferencing the output
810 - BUG/MAJOR: conn-idle: fix hash indexing issues on idle conns
811 - BUG/MINOR: config: insufficient syntax check of the global "maxconn" value
812 - BUG/MINOR: backend: only enforce turn-around state when not redispatching
813
814 2022/09/17 : 2.7-dev6
815 - MINOR: Revert part of clarifying samples support per os commit
816 - BUILD: makefile: enable crypt(3) for NetBSD
817 - BUG/MINOR: quic: Retransmitted frames marked as acknowledged
818 - BUG/MINOR: quic: Possible crash with "tls-ticket-keys" on QUIC bind lines
819 - MINOR: http-check: Remove support for headers/body in "option httpchk" version
820 - BUG/MINOR: h1: Support headers case adjustment for TCP proxies
821 - BUG/MINOR: quic: Possible crash when verifying certificates
822 - BUILD: quic: add some ifdef around the SSL_ERROR_* for libressl
823 - BUILD: ssl: fix ssl_sock_switchtx_cbk when no client_hello_cb
824 - BUILD: quic: temporarly ignore chacha20_poly1305 for libressl
825 - BUILD: quic: enable early data only with >= openssl 1.1.1
826 - BUILD: ssl: fix the ifdef mess in ssl_sock_initial_ctx
827 - BUILD: quic: fix the #ifdef in ssl_quic_initial_ctx()
828 - MINOR: quic: add QUIC support when no client_hello_cb
829 - MINOR: quic: Add traces about sent or resent TX frames
830 - MINOR: quic: No TRACE_LEAVE() in retrieve_qc_conn_from_cid()
831 - BUG/MINOR: quic: Wrong connection ID to thread ID association
832 - BUG/MINOR: task: always reset a new tasklet's call date
833 - BUG/MINOR: task: make task_instant_wakeup() work on a task not a tasklet
834 - MINOR: task: permanently enable latency measurement on tasklets
835 - CLEANUP: task: rename ->call_date to ->wake_date
836 - BUG/MINOR: sched: properly account for the CPU time of dying tasks
837 - MINOR: sched: store the current profile entry in the thread context
838 - BUG/MINOR: stream/sched: take into account CPU profiling for the last call
839 - MINOR: tasks: do not keep cpu and latency times in struct task
840 - MINOR: tools: add generic pointer hashing functions
841 - CLEANUP: activity: make memprof use the generic ptr_hash() function
842 - CLEANUP: activity: make taskprof use ptr_hash()
843 - MINOR: debug: add struct ha_caller to describe a calling location
844 - CLEANUP: debug: use struct ha_caller for memstat
845 - DEBUG: task: define a series of wakeup types for tasks and tasklets
846 - DEBUG: task: use struct ha_caller instead of arrays of file:line
847 - DEBUG: applet: instrument appctx_wakeup() to log the caller's location
848 - DEBUG: task: simplify the caller recording in DEBUG_TASK
849 - CLEANUP: task: move tid and wake_date into the common part
850 - CLEANUP: sched: remove duplicate code in run_tasks_from_list()
851 - CLEANUP: activity: make the number of sched activity entries more configurable
852 - DEBUG: resolvers: unstatify process_resolvers() to make it appear in profiling
853 - DEBUG: quic: export the few task handlers that often appear in task dumps
854 - MEDIUM: tasks/activity: combine the called function with the caller
855 - MINOR: tasks/activity: improve the caller-callee activity hash
856 - MINOR: activity/cli: support aggregating task profiling outputs
857 - MINOR: activity/cli: support sorting task profiling by total CPU time
858 - BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals
859 - BUG/MINOR: quic: Speed up the handshake completion only one time
860 - BUG/MINOR: quic: Trace fix about packet number space information.
861 - BUG/MINOR: h3: Crash when h3 trace verbosity is "minimal"
862 - MINOR: h3: Add the quic_conn object to h3 traces
863 - MINOR: h3: Missing connection argument for a TRACE_LEAVE() argument
864 - MINOR: h3: Send the h3 settings with others streams (requests)
865 - MINOR: dev/udp: Apply the corruption to both directions
866 - BUILD: udp-perturb: Add a make target for udp-perturb tool
867 - BUG/MINOR: signals/poller: ensure wakeup from signals
868 - CI: cirrus-ci: bump FreeBSD image to 13-1
869 - DEV: flags: fix usage message to reflect available options
870 - DEV: flags: add missing CO_FL_FDLESS connection flag
871 - MINOR: flags: add a new file to host flag dumping macros
872 - MINOR: flags: implement a macro used to dump enums inside masks
873 - MINOR: flags/channel: use flag dumping for channel flags and analysers
874 - MINOR: flags/connection: use flag dumping for connection flags
875 - MINOR: flags/stconn: use flag dumping for stconn and sedesc flags
876 - MINOR: flags/stream: use flag dumping for stream error type
877 - MINOR: flags/stream: use flag dumping for stream flags
878 - MINOR: flags/task: use flag dumping for task state
879 - MINOR: flags/http_ana: use flag dumping for txn flags
880 - DEV: flags: remove the now unused SHOW_FLAG() definition
881 - DEV: flags: remove the now useless intermediary functions
882 - MINOR: flags/htx: use flag dumping to show htx and start-line flags
883 - MINOR: flags/http_ana: use flag dumping to show http msg states
884 - BUG/MEDIUM: proxy: ensure pause_proxy() and resume_proxy() own PROXY_LOCK
885 - MINOR: listener: small API change
886 - MINOR: proxy/listener: support for additional PAUSED state
887 - BUG/MINOR: stats: fixing stat shows disabled frontend status as 'OPEN'
888 - BUILD: flags: fix build warning in some macros used by show_flags
889 - BUILD: flags: fix the fallback macros for missing stdio
890 - CLEANUP: pollers: remove dead code in the polling loop
891 - BUG/MINOR: mux-h1: Increment open_streams counter when H1 stream is created
892 - REGTESTS: healthcheckmail: Relax matching on the healthcheck log message
893 - CLEANUP: listener: function comment typo in stop_listener()
894 - BUG/MINOR: listener: null pointer dereference suspected by coverity
895 - MINOR: flags/fd: decode FD flags states
896 - REORG: mux-h2: extract flags and enums into mux_h2-t.h
897 - MINOR: flags/mux-h2: decode H2C and H2S flags
898 - REGTESTS: log: test the log-forward feature
899 - BUG/MEDIUM: sink: bad init sequence on tcp sink from a ring.
900 - REGTESTS: ssl/log: test the log-forward with SSL
901 - MEDIUM: httpclient: httpclient_create_proxy() creates a proxy for httpclient
902 - MEDIUM: httpclient: allow to use another proxy
903 - DOC: fix TOC in starter guide for subsection 3.3.8. Statistics
904 - MINOR: httpclient: export httpclient_create_proxy()
905 - MEDIUM: quic: separate path for rx and tx with set_encryption_secrets
906 - BUG/MEDIUM: mux-quic: fix crash on early app-ops release
907 - REORG: mux-h1: extract flags and enums into mux_h1-t.h
908 - MINOR: flags/mux-h1: decode H1C and H1S flags
909 - CLEANUP: mux-quic: remove stconn usage in h3/hq
910 - BUG/MINOR: mux-quic: do not remotely close stream too early
911 - CLEANUP: exclude udp-perturb with .gitignore
912 - BUG/MEDIUM: server: segv when adding server with hostname from CLI
913 - CLEANUP: quic,ssl: fix tiny typos in C comments
914 - BUG/MEDIUM: captures: free() an error capture out of the proxy lock
915 - BUILD: fd: fix a build warning on the DWCAS
916 - MINOR: anon: add new macros and functions to anonymize contents
917 - MINOR: anon: store the anonymizing key in the global structure
918 - MINOR: anon: store the anonymizing key in the CLI's appctx
919 - MINOR: cli: anonymize commands 'show sess' and 'show sess all'
920 - MINOR: cli: anonymize 'show servers state' and 'show servers conn'
921 - MINOR: config: add command-line -dC to dump the configuration file
922 - SCRIPTS: announce-release: update some URLs to https
923
924 2022/09/02 : 2.7-dev5
925 - BUG/MINOR: mux-quic: Fix memleak on QUIC stream buffer for unacknowledged data
926 - BUG/MEDIUM: cpu-map: fix thread 1's affinity affecting all threads
927 - MINOR: cpu-map: remove obsolete diag warning about combined ranges
928 - BUG/MAJOR: mworker: fix infinite loop on master with no proxies.
929 - REGTESTS: launch http_reuse_always in mworker mode
930 - BUG/MINOR: quix: Memleak for non in flight TX packets
931 - BUG/MINOR: quic: Wrong list_for_each_entry() use when building packets from qc_do_build_pkt()
932 - BUG/MINOR: quic: Safer QUIC frame builders
933 - MINOR: quic: Replace MT_LISTs by LISTs for RX packets.
934 - BUG/MEDIUM: applet: fix incorrect check for abnormal return condition from handler
935 - BUG/MINOR: applet: make the call_rate only count the no-progress calls
936 - MEDIUM: peers: limit the number of updates sent at once
937 - BUILD: tcp_sample: fix build of get_tcp_info() on OpenBSD
938 - BUG/MINOR: resolvers: return the correct value in resolvers_finalize_config()
939 - BUG/MINOR: mworker: does not create the "default" resolvers in wait mode
940 - BUG/MINOR: tcpcheck: Disable QUICKACK only if data should be sent after connect
941 - REGTESTS: Fix prometheus script to perform HTTP health-checks
942 - MINOR: resolvers: shut the warning when "default" resolvers is implicit
943 - Revert "BUG/MINOR: quix: Memleak for non in flight TX packets"
944 - BUG/MINOR: quic: Leak in qc_release_lost_pkts() for non in flight TX packets
945 - BUG/MINOR: quic: Stalled connections (missing I/O handler wakeup)
946 - CLEANUP: quic: No more use ->rx_list MT_LIST entry point (quic_rx_packet)
947 - CLEANUP: quic: Remove a useless check in qc_lstnr_pkt_rcv()
948 - MINOR: quic: Remove useless traces about references to TX packets
949 - Revert "MINOR: quic: Remove useless traces about references to TX packets"
950 - DOC: configuration: do-resolve doesn't work with a port in the string
951 - MINOR: sample: add the host_only and port_only converters
952 - BUG/MINOR: httpclient: fix resolution with port
953 - DOC: configuration.txt: do-resolve must use host_only to remove its port.
954 - BUG/MINOR: quic: Null packet dereferencing from qc_dup_pkt_frms() trace
955 - BUG/MINOR: quic: Frames added to packets even if not built.
956 - BUG/MEDIUM: spoe: Properly update streams waiting for a ACK in async mode
957 - BUG/MEDIUM: peers: Add connect and server timeut to peers proxy
958 - BUG/MEDIUM: peers: Don't use resync timer when local resync is in progress
959 - BUG/MEDIUM: peers: Don't start resync on reload if local peer is not up-to-date
960 - BUG/MINOR: hlua: Rely on CF_EOI to detect end of message in HTTP applets
961 - BUG/MEDIUM: mux-h1: do not refrain from signaling errors after end of input
962 - BUG/MINOR: epoll: do not actively poll for Rx after an error
963 - MINOR: raw-sock: don't try to send if an error was already reported
964 - BUG/MINOR: quic: Missing header protection AES cipher context initialisations (draft-v2)
965 - MINOR: quic: Add a trace to distinguish the datagram from the packets inside
966 - BUG/MINOR: ssl: fix deinit of the ca-file tree
967 - BUG/MINOR: ssl: leak of ckch_inst_link in ckch_inst_free()
968 - BUG/MINOR: tcpcheck: Disable QUICKACK for default tcp-check (with no rule)
969 - BUG/MEDIUM: ssl: Fix a UAF when old ckch instances are released
970 - BUG/MINOR: ssl: revert two wrong fixes with ckhi_link
971 - BUG/MINOR: dev/udp: properly preset the rx address size
972 - BUILD: debug: make sure debug macros are never empty
973 - MINOR: quic: Move traces about RX/TX bytes from QUIC_EV_CONN_PRSAFRM event
974 - BUG/MINOR: quic: TX frames memleak
975 - BUG/MINOR: ssl: leak of ckch_inst_link in ckch_inst_free() v2
976 - MINOR: sink/ring: rotate non-empty file-backed contents only
977 - BUG/MINOR: regex: Properly handle PCRE2 lib compiled without JIT support
978 - REGTESTS: http_request_buffer: Add a barrier to not mix up log messages
979 - BUG/MEDIUM: mux-h1: always use RST to kill idle connections in pools
980 - MINOR: backend: always satisfy the first req reuse rule with l7 retries
981 - BUG/MINOR: quic: Do not ack when probing
982 - MINOR: quic: Add TX frames addresses to traces to several trace events
983 - MINOR: quic: Trace typo fix in qc_release_frm()
984 - BUG/MINOR: quic: Frames leak during retransmissions
985 - BUG/MINOR: h2: properly set the direction flag on HTX response
986 - BUG/MEDIUM: httpclient: always detach the caller before self-killing
987 - BUG/MINOR: httpclient: only ask for more room on failed writes
988 - BUG/MINOR: httpclient: keep-alive was accidentely disabled
989 - MEDIUM: httpclient: enable ALPN support on outgoing https connections
990 - BUG/MINOR: mux-h2: fix the "show fd" dest buffer for the subscriber
991 - BUG/MINOR: mux-h1: fix the "show fd" dest buffer for the subscriber
992 - BUG/MINOR: mux-fcgi: fix the "show fd" dest buffer for the subscriber
993 - DEBUG: stream: minor rearrangement of a few fields in struct stream.
994 - MINOR: debug: report applet pointer and handler in crashes when known
995 - MINOR: mux-h2: extract the stream dump function out of h2_show_fd()
996 - MINOR: mux-h2: extract the connection dump function out of h2_show_fd()
997 - MINOR: muxes: add a "show_sd" helper to complete "show sess" dumps
998 - MINOR: mux-h2: provide a "show_sd" helper to output stream debugging info
999 - MINOR: mux-h2: insert line breaks in "show sess all" output for legibility
1000 - MINOR: mux-quic: provide a "show_sd" helper to output stream debugging info
1001 - MINOR: mux-h1: split "show_fd" into connection and stream
1002 - MINOR: mux-h1: provide a "show_sd" helper to output stream debugging info
1003 - BUG/MINOR: http-act: initialize http fmt head earlier
1004
1005 2022/08/20 : 2.7-dev4
1006 - BUG/MEDIUM: quic: Wrong packet length check in qc_do_rm_hp()
1007 - MINOR: quic: Too much useless traces in qc_build_frms()
1008 - BUG/MEDIUM: quic: Missing AEAD TAG check after removing header protection
1009 - MINOR: quic: Replace pool_zalloc() by pool_malloc() for fake datagrams
1010 - MINOR: debug: make the mem_stats section aligned to void*
1011 - MINOR: debug: store and report the pool's name in struct mem_stats
1012 - MINOR: debug: also store the function name in struct mem_stats
1013 - MINOR: debug/memstats: automatically determine first column size
1014 - MINOR: debug/memstats: permit to pass the size to free()
1015 - CLEANUP: mux-quic: remove loop on sending frames
1016 - MINOR: quic: replace custom buf on Tx by default struct buffer
1017 - MINOR: quic: release Tx buffer on each send
1018 - MINOR: quic: refactor datagram commit in Tx buffer
1019 - MINOR: quic: skip sending if no frame to send in io-cb
1020 - BUG/MINOR: mux-quic: open stream on STOP_SENDING
1021 - BUG/MINOR: quic: fix crash on handshake io-cb for null next enc level
1022 - BUG/MEDIUM: quic: always remove the connection from the accept list on close
1023 - BUG/MEDIUM: poller: use fd_delete() to release the poller pipes
1024 - BUG/MEDIUM: task: relax one thread consistency check in task_unlink_wq()
1025 - MEDIUM: quic: xprt traces rework
1026 - BUILD: stconn: fix build warning at -O3 about possible null sc
1027 - MINOR: quic: Remove useless lock for RX packets
1028 - BUG/MINOR: quic: Possible infinite loop in quic_build_post_handshake_frames()
1029 - CLEANUP: quic: Remove trailing spaces
1030 - MINOR: mux-quic: adjust enter/leave traces
1031 - MINOR: mux-quic: define protocol error traces
1032 - CLEANUP: mux-quic: adjust traces level
1033 - MINOR: mux-quic: define new traces
1034 - BUG/MEDIUM: mux-quic: fix crash due to invalid trace arg
1035 - BUG/MEDIUM: quic: Possible use of uninitialized <odcid> variable in qc_lstnr_params_init()
1036 - BUG/MEDIUM: ring: fix too lax 'size' parser
1037 - BUG/MEDIUM: quic: Wrong use of <token_odcid> in qc_lsntr_pkt_rcv()
1038 - BUILD: ring: forward-declare struct appctx to avoid a build warning
1039 - MINOR: ring: support creating a ring from a linear area
1040 - MINOR: ring: add support for a backing-file
1041 - DEV: haring: add a simple utility to read file-backed rings
1042 - DEV: haring: support remapping LF in contents with CR VT
1043 - BUG/MINOR: quic: memleak on wrong datagram receipt
1044 - BUILD: sink: replace S_IRUSR, S_IWUSR with their octal value
1045 - MINOR: ring: archive a previous file-backed ring on startup
1046 - BUG/MINOR: mux-quic: fix crash with traces in qc_detach()
1047 - BUG/MINOR: quic: MIssing check when building TX packets
1048 - BUG/MINOR: quic: Wrong status returned by qc_pkt_decrypt()
1049 - MINOR: memprof: export the minimum definitions for memory profiling
1050 - MINOR: pool/memprof: report pool alloc/free in memory profiling
1051 - MINOR: pools/memprof: store and report the pool's name in each bin
1052 - MINOR: chunk: inline alloc_trash_chunk()
1053 - MINOR: stick-table: Add table_expire() and table_idle() new converters
1054 - CLEANUP: exclude haring with .gitignore
1055 - MINOR: quic: adjust quic_frame flag manipulation
1056 - MINOR: h3: report error on control stream close
1057 - MINOR: qpack: report error on enc/dec stream close
1058 - BUG/MEDIUM: mux-quic: reject uni stream ID exceeding flow control
1059 - MINOR: mux-quic: adjust traces on stream init
1060 - MINOR: mux-quic: add missing args on some traces
1061 - MINOR: quic: refactor application send
1062 - BUG/MINOR: quic: do not notify MUX on frame retransmit
1063 - BUG/MEDIUM: http-ana: fix crash or wrong header deletion by http-restrict-req-hdr-names
1064 - BUG/MINOR: quic: Missing initializations for ducplicated frames.
1065 - BUG/MEDIUM: quic: fix crash on MUX send notification
1066 - REORG: h2: extract cookies concat function in http_htx
1067 - REGTESTS: add test for HTTP/2 cookies concatenation
1068 - MEDIUM: h3: concatenate multiple cookie headers
1069 - MINOR: applet: add a function to reset the svcctx of an applet
1070 - BUG/MEDIUM: cli: always reset the service context between commands
1071 - BUG/MEDIUM: mux-h2: do not fiddle with ->dsi to indicate demux is idle
1072 - MINOR: mux-h2/traces: report transition to SETTINGS1 before not after
1073 - MINOR: mux-h2: make streams know if they need to send more data
1074 - BUG/MINOR: mux-h2: send a CANCEL instead of ES on truncated writes
1075 - BUG/MINOR: quic: Possible crashes when dereferencing ->pkt quic_frame struct member
1076 - MINOR: quic: Add frame addresses to QUIC_EV_CONN_PRSAFRM event traces
1077 - BUG/MINOR: quic: Wrong splitted duplicated frames handling
1078 - MINOR: quic: Add the QUIC connection to mux traces
1079 - MINOR: quic: Trace fix in qc_release_frm()
1080 - BUG/MAJOR: log-forward: Fix log-forward proxies not fully initialized
1081 - BUG/MAJOR: log-forward: Fix ssl layer not initialized on bind even if configured
1082 - MINOR: quic: Add reusable cipher contexts for header protection
1083 - BUG/MINOR: ssl/cli: error when the ca-file is empty
1084 - MINOR: ssl: handle ca-file appending in cafile_entry
1085 - MINOR: ssl/cli: implement "add ssl ca-file"
1086
1087 2022/08/07 : 2.7-dev3
1088 - BUILD: makefile: Fix install(1) handling for OpenBSD/NetBSD/Solaris/AIX
1089 - BUG/MEDIUM: tools: avoid calling dlsym() in static builds (try 2)
1090 - MINOR: resolvers: resolvers_destroy() deinit and free a resolver
1091 - BUG/MINOR: resolvers: shut off the warning for the default resolvers
1092 - BUG/MINOR: ssl: allow duplicate certificates in ca-file directories
1093 - BUG/MINOR: tools: fix statistical_prng_range()'s output range
1094 - BUG/MINOR: quic: do not send CONNECTION_CLOSE_APP in initial/handshake
1095 - BUILD: debug: Add braces to if statement calling only CHECK_IF()
1096 - BUG/MINOR: fd: Properly init the fd state in fd_insert()
1097 - BUG/MEDIUM: fd/threads: fix incorrect thread selection in wakeup broadcast
1098 - MINOR: init: load OpenSSL error strings
1099 - MINOR: ssl: enhance ca-file error emitting
1100 - BUG/MINOR: mworker/cli: relative pid prefix not validated anymore
1101 - BUG/MAJOR: mux_quic: fix invalid PROTOCOL_VIOLATION on POST data overlap
1102 - BUG/MEDIUM: mworker: proc_self incorrectly set crashes upon reload
1103 - BUILD: add detection for unsupported compiler models
1104 - BUG/MEDIUM: stconn: Only reset connect expiration when processing backend side
1105 - BUG/MINOR: backend: Fallback on RR algo if balance on source is impossible
1106 - BUG/MEDIUM: master: force the thread count earlier
1107 - BUG/MAJOR: poller: drop FD's tgid when masks don't match
1108 - DEBUG: fd: detect possibly invalid tgid in fd_insert()
1109 - BUG/MINOR: sockpair: wrong return value for fd_send_uxst()
1110 - MINOR: sockpair: move send_fd_uxst() error message in caller
1111 - Revert "BUG/MINOR: peers: set the proxy's name to the peers section name"
1112 - DEBUG: fd: split the fd check
1113 - MEDIUM: resolvers: continue startup if network is unavailable
1114 - BUG/MINOR: fd: always remove late updates when freeing fd_updt[]
1115 - MINOR: cli: emit a warning when _getsocks was used more than once
1116 - BUG/MINOR: mworker: PROC_O_LEAVING used but not updated
1117 - Revert "MINOR: cli: emit a warning when _getsocks was used more than once"
1118 - MINOR: cli: warning on _getsocks when socket were closed
1119 - BUG/MEDIUM: mux-quic: fix missing EOI flag to prevent streams leaks
1120 - MINOR: quic: Congestion control architecture refactoring
1121 - MEDIUM: quic: Cubic congestion control algorithm implementation
1122 - MINOR: quic: New "quic-cc-algo" bind keyword
1123 - BUG/MINOR: quic: loss time limit variable computed but not used
1124 - MINOR: quic: Stop looking for packet loss asap
1125 - BUG/MAJOR: quic: Useless resource intensive loop qc_ackrng_pkts()
1126 - MINOR: quic: Send packets as much as possible from qc_send_app_pkts()
1127 - BUG/MEDIUM: queue/threads: limit the number of entries dequeued at once
1128 - MAJOR: threads/plock: update the embedded library
1129 - MINOR: thread: provide an alternative to pthread's rwlock
1130 - DEBUG: tools: provide a tree dump function for ebmbtrees as well
1131 - MINOR: ebtree: add ebmb_lookup_shorter() to pursue lookups
1132 - BUG/MEDIUM: pattern: only visit equivalent nodes when skipping versions
1133 - BUG/MINOR: mux-quic: prevent crash if conn released during IO callback
1134 - CLEANUP: mux-quic: remove useless app_ops is_active callback
1135 - BUG/MINOR: mux-quic: do not free conn if attached streams
1136 - MINOR: mux-quic: save proxy instance into qcc
1137 - MINOR: mux-quic: use timeout server for backend conns
1138 - MEDIUM: mux-quic: adjust timeout refresh
1139 - MINOR: mux-quic: count in-progress requests
1140 - MEDIUM: mux-quic: implement http-keep-alive timeout
1141 - MINOR: peers: Add a warning about incompatible SSL config for the local peer
1142 - MINOR: peers: Use a dedicated reconnect timeout when stopping the local peer
1143 - BUG/MEDIUM: peers: limit reconnect attempts of the old process on reload
1144 - BUG/MINOR: peers: Use right channel flag to consider the peer as connected
1145 - BUG/MEDIUM: dns: Properly initialize new DNS session
1146 - BUG/MINOR: backend: Don't increment conn_retries counter too early
1147 - MINOR: server: Constify source server to copy its settings
1148 - REORG: server: Export srv_settings_cpy() function
1149 - BUG/MEDIUM: proxy: Perform a custom copy for default server settings
1150 - BUG/MINOR: quic: Missing in flight ack eliciting packet counter decrement
1151 - BUG/MEDIUM: quic: Floating point exception in cubic_root()
1152 - MINOR: h3: support HTTP request framing state
1153 - MINOR: mux-quic: refresh timeout on frame decoding
1154 - MINOR: mux-quic: refactor refresh timeout function
1155 - MEDIUM: mux-quic: implement http-request timeout
1156 - BUG/MINOR: quic: Avoid sending truncated datagrams
1157 - BUG/MINOR: ring/cli: fix a race condition between the writer and the reader
1158 - BUG/MEDIUM: sink: Set the sink ref for forwarders created during ring parsing
1159 - BUG/MINOR: sink: fix a race condition between the writer and the reader
1160 - BUG/MINOR: quic: do not reject datagrams matching minimum permitted size
1161 - MINOR: quic: Add two new stats counters for sendto() errors
1162 - BUG/MINOR: quic: Missing Initial packet dropping case
1163 - MINOR: quic: explicitely ignore sendto error
1164 - BUG/MINOR: quic: adjust errno handling on sendto
1165 - BUG/MEDIUM: quic: break out of the loop in quic_lstnr_dghdlr
1166 - MINOR: threads: report the number of thread groups in build options
1167 - MINOR: config: automatically preset MAX_THREADS based on MAX_TGROUPS
1168 - BUILD: SSL: allow to pass additional configure args to QUICTLS
1169 - CI: enable weekly "m32" builds on x86_64
1170 - CLEANUP: assorted typo fixes in the code and comments
1171 - BUG/MEDIUM: fix DH length when EC key is used
1172 - REGTESTS: ssl: adopt tests to OpenSSL-3.0.N
1173 - REGTESTS: ssl: adopt tests to OpenSSL-3.0.N
1174 - REGTESTS: ssl: fix grep invocation to use extended regex in ssl_generate_certificate.vtc
1175 - BUILD: cfgparse: always defined _GNU_SOURCE for sched.h and crypt.h
1176
1177 2022/07/16 : 2.7-dev2
1178 - BUG/MINOR: qpack: fix build with QPACK_DEBUG
1179 - MINOR: h3: handle errors on HEADERS parsing/QPACK decoding
1180 - BUG/MINOR: qpack: abort on dynamic index field line decoding
1181 - MINOR: qpack: properly handle invalid dynamic table references
1182 - MINOR: task: Add tasklet_wakeup_after()
1183 - BUG/MINOR: quic: Dropped packets not counted (with RX buffers full)
1184 - MINOR: quic: Add new stats counter to diagnose RX buffer overrun
1185 - MINOR: quic: Duplicated QUIC_RX_BUFSZ definition
1186 - MINOR: quic: Improvements for the datagrams receipt
1187 - CLEANUP: h2: Typo fix in h2_unsubcribe() traces
1188 - MINOR: quic: Increase the QUIC connections RX buffer size (upto 64Kb)
1189 - CLEANUP: mux-quic: adjust comment on qcs_consume()
1190 - MINOR: ncbuf: implement ncb_is_fragmented()
1191 - BUG/MINOR: mux-quic: do not signal FIN if gap in buffer
1192 - MINOR: fd: add a new FD_DISOWN flag to prevent from closing a deleted FD
1193 - BUG/MEDIUM: ssl/fd: unexpected fd close using async engine
1194 - MINOR: tinfo: make tid temporarily still reflect global ID
1195 - CLEANUP: config: remove unused proc_mask()
1196 - MINOR: debug: remove mask support from "debug dev sched"
1197 - MEDIUM: task: add and preset a thread ID in the task struct
1198 - MEDIUM: task/debug: move the ->thread_mask integrity checks to ->tid
1199 - MAJOR: task: use t->tid instead of ffsl(t->thread_mask) to take the thread ID
1200 - MAJOR: task: replace t->thread_mask with 1<<t->tid when thread mask is needed
1201 - CLEANUP: task: remove thread_mask from the struct task
1202 - MEDIUM: applet: only keep appctx_new_*() and drop appctx_new()
1203 - MEDIUM: task: only keep task_new_*() and drop task_new()
1204 - MINOR: applet: always use task_new_on() on applet creation
1205 - MEDIUM: task: remove TASK_SHARED_WQ and only use t->tid
1206 - MINOR: task: replace task_set_affinity() with task_set_thread()
1207 - CLEANUP: task: remove the unused task_unlink_rq()
1208 - CLEANUP: task: remove the now unused TASK_GLOBAL flag
1209 - MINOR: task: make rqueue_ticks atomic
1210 - MEDIUM: task: move the shared runqueue to one per thread
1211 - MEDIUM: task: replace the global rq_lock with a per-rq one
1212 - MINOR: task: remove grq_total and use rq_total instead
1213 - MINOR: task: replace global_tasks_mask with a check for tree's emptiness
1214 - MEDIUM: task: use regular eb32 trees for the run queues
1215 - MEDIUM: queue: revert to regular inter-task wakeups
1216 - MINOR: thread: make wake_thread() take care of the sleeping threads mask
1217 - MINOR: thread: move the flags to the shared cache line
1218 - MINOR: thread: only use atomic ops to touch the flags
1219 - MINOR: poller: centralize poll return handling
1220 - MEDIUM: polling: make update_fd_polling() not care about sleeping threads
1221 - MINOR: poller: update_fd_polling: wake a random other thread
1222 - MEDIUM: thread: add a new per-thread flag TH_FL_NOTIFIED to remember wakeups
1223 - MEDIUM: tasks/fd: replace sleeping_thread_mask with a TH_FL_SLEEPING flag
1224 - MINOR: tinfo: add the tgid to the thread_info struct
1225 - MINOR: tinfo: replace the tgid with tgid_bit in tgroup_info
1226 - MINOR: tinfo: add the mask of enabled threads in each group
1227 - MINOR: debug: use ltid_bit in ha_thread_dump()
1228 - MINOR: wdt: use ltid_bit in wdt_handler()
1229 - MINOR: clock: use ltid_bit in clock_report_idle()
1230 - MINOR: thread: use ltid_bit in ha_tkillall()
1231 - MINOR: thread: add a new all_tgroups_mask variable to know about active tgroups
1232 - CLEANUP: thread: remove thread_sync_release() and thread_sync_mask
1233 - MEDIUM: tinfo: add a dynamic thread-group context
1234 - MEDIUM: thread: make stopping_threads per-group and add stopping_tgroups
1235 - MAJOR: threads: change thread_isolate to support inter-group synchronization
1236 - MINOR: thread: add is_thread_harmless() to know if a thread already is harmless
1237 - MINOR: debug: mark oneself harmless while waiting for threads to finish
1238 - MINOR: wdt: do not rely on threads_to_dump anymore
1239 - MEDIUM: debug: make the thread dumper not rely on a thread mask anymore
1240 - BUILD: debug: fix build issue on clang with previous commit
1241 - BUILD: debug: re-export thread_dump_state
1242 - BUG/MEDIUM: threads: fix incorrect thread group being used on soft-stop
1243 - BUG/MEDIUM: thread: check stopping thread against local bit and not global one
1244 - MINOR: proxy: use tg->threads_enabled in hard_stop() to detect stopped threads
1245 - BUILD: Makefile: Add Lua 5.4 autodetect
1246 - CI: re-enable gcc asan builds
1247 - MEDIUM: mworker: set the iocb of the socketpair without using fd_insert()
1248 - MINOR: fd: Add BUG_ON checks on fd_insert()
1249 - CLEANUP: mworker: rename mworker_pipe to mworker_sockpair
1250 - CLEANUP: mux-quic: do not export qc_get_ncbuf
1251 - REORG: mux-quic: reorganize flow-control fields
1252 - MINOR: mux-quic: implement accessor for sedesc
1253 - MEDIUM: mux-quic: refactor streams opening
1254 - MINOR: mux-quic: rename qcs flag FIN_RECV to SIZE_KNOWN
1255 - MINOR: mux-quic: emit FINAL_SIZE_ERROR on invalid STREAM size
1256 - BUG/MINOR: peers/config: always fill the bind_conf's argument
1257 - BUG/MEDIUM: peers/config: properly set the thread mask
1258 - CLEANUP: bwlim: Set pointers to NULL when memory is released
1259 - BUG/MINOR: http-check: Preserve headers if not redefined by an implicit rule
1260 - BUG/MINOR: http-act: Properly generate 103 responses when several rules are used
1261 - BUG/MEDIUM: thread: mask stopping_threads with threads_enabled when checking it
1262 - CLEANUP: thread: also remove a thread's bit from stopping_threads on stop
1263 - BUG/MINOR: peers: fix possible NULL dereferences at config parsing
1264 - BUG/MINOR: http-htx: Fix scheme based normalization for URIs wih userinfo
1265 - MINOR: http: Add function to get port part of a host
1266 - MINOR: http: Add function to detect default port
1267 - BUG/MEDIUM: h1: Improve authority validation for CONNCET request
1268 - MINOR: http-htx: Use new HTTP functions for the scheme based normalization
1269 - BUG/MEDIUM: http-fetch: Don't fetch the method if there is no stream
1270 - REGTEESTS: filters: Fix CONNECT request in random-forwarding script
1271 - MEDIUM: mworker/systemd: send STATUS over sd_notify
1272 - BUG/MINOR: mux-h1: Be sure to commit htx changes in the demux buffer
1273 - BUG/MEDIUM: http-ana: Don't wait to have an empty buf to switch in TUNNEL state
1274 - BUG/MEDIUM: mux-h1: Handle connection error after a synchronous send
1275 - MEDIUM: epoll: don't synchronously delete migrated FDs
1276 - BUILD: debug: silence warning on gcc-5
1277 - BUILD: http: silence an uninitialized warning affecting gcc-5
1278 - BUG/MEDIUM: mux-quic: fix server chunked encoding response
1279 - REORG: mux-quic: rename stream initialization function
1280 - MINOR: mux-quic: rename stream purge function
1281 - MINOR: mux-quic: add traces on frame parsing functions
1282 - MINOR: mux-quic: implement qcs_alert()
1283 - MINOR: mux-quic: filter send/receive-only streams on frame parsing
1284 - MINOR: mux-quic: do not ack STREAM frames on unrecoverable error
1285 - MINOR: mux-quic: support stream opening via MAX_STREAM_DATA
1286 - MINOR: mux-quic: define basic stream states
1287 - MINOR: mux-quic: use stream states to mark as detached
1288 - MEDIUM: mux-quic: implement RESET_STREAM emission
1289 - MEDIUM: mux-quic: implement STOP_SENDING handling
1290 - BUG/MEDIUM: debug: fix possible hang when multiple threads dump at once
1291 - BUG/MINOR: quic: fix closing state on NO_ERROR code sent
1292 - CLEANUP: quic: clean up include on quic_frame-t.h
1293 - MINOR: quic: define a generic QUIC error type
1294 - MINOR: mux-quic: support app graceful shutdown
1295 - MINOR: mux-quic/h3: prepare CONNECTION_CLOSE on release
1296 - MEDIUM: quic: send CONNECTION_CLOSE on released MUX
1297 - CLEANUP: mux-quic: move qc_release()
1298 - MINOR: mux-quic: send one last time before release
1299 - MINOR: h3: store control stream in h3c
1300 - MINOR: h3: implement graceful shutdown with GOAWAY
1301 - BUG/MINOR: threads: produce correct global mask for tgroup > 1
1302 - BUG/MEDIUM: cli/threads: make "show threads" more robust on applets
1303 - BUG/MINOR: thread: use the correct thread's group in ha_tkillall()
1304 - BUG/MINOR: debug: enter ha_panic() only once
1305 - BUG/MEDIUM: debug: fix parallel thread dumps again
1306 - MINOR: cli/streams: show a stream's tgid next to its thread ID
1307 - DEBUG: cli: add a new "debug dev deadlock" expert command
1308 - MINOR: cli/activity: add a thread number argument to "show activity"
1309 - CLEANUP: applet: remove the obsolete command context from the appctx
1310 - MEDIUM: config: remove deprecated "bind-process" directives from frontends
1311 - MEDIUM: config: remove the "process" keyword on "bind" lines
1312 - MINOR: listener/config: make "thread" always support up to LONGBITS
1313 - CLEANUP: fd: get rid of the __GET_{NEXT,PREV} macros
1314 - MEDIUM: debug/threads: make the lock debugging take tgroups into account
1315 - MEDIUM: proto: stop protocols under thread isolation during soft stop
1316 - MEDIUM: poller: program the update in fd_update_events() for a migrated FD
1317 - MEDIUM: poller: disable thread-groups for poll() and select()
1318 - MINOR: thread: remove MAX_THREADS limitation
1319 - MEDIUM: cpu-map: replace the process number with the thread group number
1320 - MINOR: mworker/threads: limit the mworker sockets to group 1
1321 - MINOR: cli/threads: always bind CLI to thread group 1
1322 - MINOR: fd/thread: get rid of thread_mask()
1323 - MEDIUM: task/thread: move the task shared wait queues per thread group
1324 - MINOR: task: move the niced_tasks counter to the thread group context
1325 - DOC: design: add some thoughts about how to handle the update_list
1326 - MEDIUM: conn: make conn_backend_get always scan the same group
1327 - MAJOR: fd: remove pending updates upon real close
1328 - MEDIUM: fd/poller: make the update-list per-group
1329 - MINOR: fd: delete unused updates on close()
1330 - MINOR: fd: make fd_insert() apply the thread mask itself
1331 - MEDIUM: fd: add the tgid to the fd and pass it to fd_insert()
1332 - MINOR: cli/fd: show fd's tgid and refcount in "show fd"
1333 - MINOR: fd: add functions to manipulate the FD's tgid
1334 - MINOR: fd: add fd_get_running() to atomically return the running mask
1335 - MAJOR: fd: grab the tgid before manipulating running
1336 - MEDIUM: fd/poller: turn polled_mask to group-local IDs
1337 - MEDIUM: fd/poller: turn update_mask to group-local IDs
1338 - MEDIUM: fd/poller: turn running_mask to group-local IDs
1339 - MINOR: fd: make fd_clr_running() return the previous value instead
1340 - MEDIUM: fd: make thread_mask now represent group-local IDs
1341 - MEDIUM: fd: make fd_insert() take local thread masks
1342 - MEDIUM: fd: make fd_insert/fd_delete atomically update fd.tgid
1343 - MEDIUM: fd: quit fd_update_events() when FD is closed
1344 - MEDIUM: thread: change thread_resolve_group_mask() to return group-local values
1345 - MEDIUM: listener: switch bind_thread from global to group-local
1346 - MINOR: fd: add fd_reregister_all() to deal with boot-time FDs
1347 - MEDIUM: fd: support stopping FDs during starting
1348 - MAJOR: pollers: rely on fd_reregister_all() at boot time
1349 - MAJOR: poller: only touch/inspect the update_mask under tgid protection
1350 - MEDIUM: fd: support broadcasting updates for foreign groups in updt_fd_polling
1351 - CLEANUP: threads: remove the now unused all_threads_mask and tid_bit
1352 - MINOR: config: change default MAX_TGROUPS to 16
1353 - BUG/MEDIUM: tools: avoid calling dlsym() in static builds
1354
1355 2022/06/24 : 2.7-dev1
1356 - BUG/MINOR: ssl_ckch: Free error msg if commit changes on a cert entry fails
1357 - BUG/MINOR: ssl_ckch: Free error msg if commit changes on a CA/CRL entry fails
1358 - BUG/MEDIUM: ssl_ckch: Don't delete a cert entry if it is being modified
1359 - BUG/MEDIUM: ssl_ckch: Don't delete CA/CRL entry if it is being modified
1360 - BUG/MINOR: ssl_ckch: Don't duplicate path when replacing a cert entry
1361 - BUG/MINOR: ssl_ckch: Don't duplicate path when replacing a CA/CRL entry
1362 - BUG/MEDIUM: ssl_ckch: Rework 'commit ssl cert' to handle full buffer cases
1363 - BUG/MEDIUM: ssl_ckch: Rework 'commit ssl ca-file' to handle full buffer cases
1364 - BUG/MEDIUM: ssl/crt-list: Rework 'add ssl crt-list' to handle full buffer cases
1365 - BUG/MEDIUM: httpclient: Don't remove HTX header blocks before duplicating them
1366 - BUG/MEDIUM: httpclient: Rework CLI I/O handler to handle full buffer cases
1367 - MEDIUM: httpclient: Don't close CLI applet at the end of a response
1368 - MEDIUM: http-ana: Always report rewrite failures as PRXCOND in logs
1369 - CLEANUP: Re-apply xalloc_size.cocci (2)
1370 - REGTESTS: abortonclose: Add a barrier to not mix up log messages
1371 - REGTESTS: http_request_buffer: Increase client timeout to wait "slow" clients
1372 - CLEANUP: ssl_ckch: Use corresponding enum for commit_cacrlfile_ctx.cafile_type
1373 - MINOR: ssl_ckch: Simplify I/O handler to commit changes on CA/CRL entry
1374 - BUG/MINOR: ssl_ckch: Use right type for old entry in show_crlfile_ctx
1375 - BUG/MINOR: ssl_ckch: Dump CRL transaction only once if show command yield
1376 - BUG/MINOR: ssl_ckch: Dump CA transaction only once if show command yield
1377 - BUG/MINOR: ssl_ckch: Dump cert transaction only once if show command yield
1378 - BUG/MINOR: ssl_ckch: Init right field when parsing "commit ssl crl-file" cmd
1379 - CLEANUP: ssl_ckch: Remove unused field in commit_cacrlfile_ctx structure
1380 - MINOR: ssl_ckch: Simplify structure used to commit changes on CA/CRL entries
1381 - MINOR: ssl_ckch: Remove service context for "set ssl cert" command
1382 - MINOR: ssl_ckch: Remove service context for "set ssl ca-file" command
1383 - MINOR: ssl_ckch: Remove service context for "set ssl crl-file" command
1384 - BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_cert I/O handler
1385 - BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_cafile I/O handler
1386 - BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_crlfile I/O handler
1387 - BUILD: ssl_ckch: Fix build error about a possible uninitialized value
1388 - BUG/MINOR: ssl_ckch: Fix another possible uninitialized value
1389 - REGTESTS: http_abortonclose: Extend supported versions
1390 - REGTESTS: restrict_req_hdr_names: Extend supported versions
1391 - MINOR: connection: support HTTP/3.0 for smp_*_http_major fetch
1392 - MINOR: h3: add h3c pointer into h3s instance
1393 - MINOR: mux-quic: simplify decode_qcs API
1394 - MINOR: mux-quic/h3: adjust demuxing function return values
1395 - BUG/MINOR: h3: fix return value on decode_qcs on error
1396 - BUILD: quic: fix anonymous union for gcc-4.4
1397 - BUILD: compiler: implement unreachable for older compilers too
1398 - DEV: tcploop: reorder options in the usage message
1399 - DEV: tcploop: make the current address the default address
1400 - DEV: tcploop: make it possible to change the target address of a connect()
1401 - DEV: tcploop: factor out the socket creation
1402 - DEV: tcploop: permit port 0 to ease handling of default options
1403 - DEV: tcploop: add a new "bind" command to bind to ip/port.
1404 - DEV: tcploop: add minimal UDP support
1405 - BUG/MINOR: trace: Test server existence for health-checks to get proxy
1406 - BUG/MINOR: checks: Properly handle email alerts in trace messages
1407 - BUG/MEDIUM: mailers: Set the object type for check attached to an email alert
1408 - REGTESTS: healthcheckmail: Update the test to be functionnal again
1409 - REGTESTS: healthcheckmail: Relax health-check failure condition
1410 - BUG/MINOR: h3: fix incorrect BUG_ON assert on SETTINGS parsing
1411 - MEDIUM: mux-h2: try to coalesce outgoing WINDOW_UPDATE frames
1412 - OPTIM: mux-h2: increase h2_settings_initial_window_size default to 64k
1413 - BUG/MINOR: h3: fix frame type definition
1414 - BUG/MEDIUM: h3: fix SETTINGS parsing
1415 - BUG/MINOR: cli/stats: add missing trailing LF after JSON outputs
1416 - BUG/MINOR: server: do not enable DNS resolution on disabled proxies
1417 - BUG/MINOR: cli/stats: add missing trailing LF after "show info json"
1418 - DOC: design: update the notes on thread groups
1419 - BUG/MEDIUM: mux-quic: fix flow control connection Tx level
1420 - MINOR: mux-quic: complete BUG_ON on TX flow-control enforcing
1421 - BUG/MINOR: mux-quic: fix memleak on frames rejected by transport
1422 - BUG/MINOR: tcp-rules: Make action call final on read error and delay expiration
1423 - CLEANUP: check: Remove useless tests on check's stream-connector
1424 - BUG/MEDIUM: stconn: Don't wakeup applet for send if it won't consume data
1425 - BUG/MEDIUM: cli: Notify cli applet won't consume data during request processing
1426 - BUG/MEDIUM: mux-quic: fix segfault on flow-control frame cleanup
1427 - MINOR: task: move profiling bit to per-thread
1428 - CLEANUP: quic: use task_new_on() for single-threaded tasks
1429 - MINOR: tinfo: remove the global thread ID bit (tid_bit)
1430 - CLEANUP: hlua: check for at least 2 threads on a task
1431 - MINOR: thread: get rid of MAX_THREADS_MASK
1432 - OPTIM: task: do not consult shared WQ when we're already full
1433 - DOC: design: update the task vs thread affinity requirements
1434 - MINOR: qpack: add comments and remove a useless trace
1435 - MINOR: qpack: reduce dependencies on other modules
1436 - BUG/MINOR: qpack: support header litteral name decoding
1437 - MINOR: qpack: add ABORT_NOW on unimplemented decoding
1438 - BUG/MINOR: h3/qpack: deal with too many headers
1439 - MINOR: qpack: improve decoding function
1440 - MINOR: qpack: implement standalone decoder tool
1441 - BUG/BUILD: h3: fix wrong label name
1442 - BUG/MINOR: quic: Stop hardcoding Retry packet Version field
1443 - MINOR: quic: Add several nonce and key definitions for Retry tag
1444 - BUG/MINOR: quic: Wrong PTO calculation
1445 - MINOR: quic: Parse long packet version from qc_parse_hd_form()
1446 - CLEANUP: quid: QUIC draft-28 no more supported
1447 - MEDIUM: quic: Add QUIC v2 draft support
1448 - MINOR: quic: Released QUIC TLS extension for QUIC v2 draft
1449 - MEDIUM: quic: Compatible version negotiation implementation (draft-08)
1450 - CLEANUP: quic: Remove any reference to boringssl
1451 - BUG/MINOR: task: fix thread assignment in tasklet_kill()
1452 - BUG/MEDIUM: stream: Properly handle destructive client connection upgrades
1453 - MINOR: stream: Rely on stconn flags to abort stream destructive upgrade
1454 - CLEANUP: stconn: Don't expect to have no sedesc on detach
1455 - BUG/MINOR: log: Properly test connection retries to fix dontlog-normal option
1456 - MINOR: hlua: don't dump empty entries in hlua_traceback()
1457 - MINOR: hlua: add a new hlua_show_current_location() function
1458 - MEDIUM: debug: add a tainted flag when a shared library is loaded
1459 - MEDIUM: debug: detect redefinition of symbols upon dlopen()
1460 - BUILD: quic: Wrong HKDF label constant variable initializations
1461 - BUG/MINOR: quic: Unexpected half open connection counter wrapping
1462 - BUG/MINOR: quic_stats: Duplicate "quic_streams_data_blocked_bidi" field name
1463 - BUG/MINOR: quic: purge conn Rx packet list on release
1464 - BUG/MINOR: quic: free rejected Rx packets
1465 - BUG/MINOR: qpack: abort on dynamic index field line decoding
1466 - BUG/MEDIUM: ssl/cli: crash when crt inserted into a crt-list
1467 - REGTESTS: ssl: add the same cert for client/server
1468 - BUG/MINOR: quic: Acknowledgement must be forced during handshake
1469 - MINOR: quic: Dump version_information transport parameter
1470 - BUG/MEDIUM: mworker: use default maxconn in wait mode
1471 - MINOR: intops: add a function to return a valid bit position from a mask
1472 - TESTS: add a unit test for one_among_mask()
1473 - BUILD: ssl_ckch: fix "maybe-uninitialized" build error on gcc-9.4 + ARM
1474 - BUG/MINOR: ssl: Do not look for key in extra files if already in pem
1475 - BUG/MINOR: quic: Missing acknowledgments for trailing packets
1476 - BUG/MINOR: http-ana: Set method to HTTP_METH_OTHER when an HTTP txn is created
1477 - BUG/MINOR: http-fetch: Use integer value when possible in "method" sample fetch
1478 - MINOR: freq_ctr: Add a function to get events excess over the current period
1479 - BUG/MINOR: stream: only free the req/res captures when set
1480 - CLEANUP: pool/tree-wide: remove suffix "_pool" from certain pool names
1481 - MEDIUM: debug: improve DEBUG_MEM_STATS to also report pool alloc/free
1482 - BUG/MINOR: quic: Wrong reuse of fulfilled dgram RX buffer
1483 - BUG/MAJOR: quic: Big RX dgrams leak when fulfilling a buffer
1484 - BUG/MAJOR: quic: Big RX dgrams leak with POST requests
1485 - BUILD: quic+h3: 32-bit compilation errors fixes
1486 - MEDIUM: bwlim: Add support of bandwith limitation at the stream level
1487
1488 2022/05/31 : 2.7-dev0
1489 - MINOR: version: it's development again
1490
1491 2022/05/31 : 2.6.0
1492 - DOC: Fix formatting in configuration.txt to fix dconv
1493 - CLEANUP: tcpcheck: Remove useless test on the stream-connector in tcpcheck_main
1494 - CLEANUP: muxes: Consider stream's sd as defined in .show_fd callback functions
1495 - MINOR: quic: Ignore out of packet padding.
1496 - CLEANUP: quic: Useless QUIC_CONN_TX_BUF_SZ definition
1497 - CLEANUP: quic: No more used handshake output buffer
1498 - MINOR: quic: QUIC transport parameters split.
1499 - MINOR: quic: Transport parameters dump
1500 - DOC: quic: Update documentation for QUIC Retry
1501 - MINOR: quic: Tunable "max_idle_timeout" transport parameter
1502 - MINOR: quic: Tunable "initial_max_streams_bidi" transport parameter
1503 - MINOR: quic: Clarifications about transport parameters value
1504 - MINOIR: quic_stats: add QUIC connection errors counters
1505 - BUG/MINOR: quic: Largest RX packet numbers mixing
1506 - MINOR: quic_stats: Add transport new counters (lost, stateless reset, drop)
1507 - DOC: quic: Documentation update for QUIC
1508 - MINOR: quic: Connection TX buffer setting renaming.
1509 - MINOR: h3: Add a statistics module for h3
1510 - MINOR: quic: Send STOP_SENDING frames if mux is released
1511 - MINOR: quic: Do not drop packets with RESET_STREAM frames
1512 - BUG/MINOR: qpack: fix buffer API usage on prefix integer encoding
1513 - BUG/MINOR: qpack: support bigger prefix-integer encoding
1514 - BUG/MINOR: h3: do not report bug on unknown method
1515 - SCRIPTS: add make-releases-json to recreate a releases.json file in download dirs
1516 - SCRIPTS: make publish-release try to launch make-releases-json
1517 - MINOR: htx: add an unchecked version of htx_get_head_blk()
1518 - BUILD: htx: use the unchecked version of htx_get_head_blk() where needed
1519 - BUILD: quic: use inttypes.h instead of stdint.h
1520 - DOC: internal: remove totally outdated diagrams
1521 - DOC: remove the outdated ROADMAP file
1522 - DOC: add maintainers for QUIC and HTTP/3
1523 - MINOR: h3: define h3 trace module
1524 - MINOR: h3: add traces on frame recv
1525 - MINOR: h3: add traces on frame send
1526 - MINOR: h3: add traces on h3s init/end
1527 - EXAMPLES: remove completely outdated acl-content-sw.cfg
1528 - BUILD: makefile: reorder objects by build time
1529 - DOC: fix a few spelling mistakes in the docs
1530 - BUG/MEDIUM: peers/cli: fix "show peers" crash
1531 - CLEANUP: peers/cli: stop misusing the appctx local variable
1532 - CLEANUP: peers/cli: make peers_dump_peer() take an appctx instead of an stconn
1533 - BUG/MINOR: peers: set the proxy's name to the peers section name
1534 - MINOR: server: indicate when no address was expected for a server
1535 - BUG/MINOR: peers: detect and warn on init_addr/resolvers/check/agent-check
1536 - DOC: peers: indicate that some server settings are not usable
1537 - DOC: peers: clarify when entry expiration date is renewed.
1538 - DOC: peers: fix port number and addresses on new peers section format
1539 - DOC: gpc/gpt: add commments of gpc/gpt array definitions on stick tables.
1540 - DOC: install: update supported OpenSSL versions in the INSTALL doc
1541 - MINOR: ncbuf: adjust ncb_data with NCBUF_NULL
1542 - BUG/MINOR: h3: fix frame demuxing
1543 - BUG/MEDIUM: h3: fix H3_EXCESSIVE_LOAD when receiving H3 frame header only
1544 - BUG/MINOR: quic: Fix QUIC_EV_CONN_PRSAFRM event traces
1545 - CLEANUP: quic: remove useless check on local UNI stream reception
1546 - BUG/MINOR: qpack: do not consider empty enc/dec stream as error
1547 - DOC: intro: adjust the numbering of paragrams to keep the output ordered
1548 - MINOR: version: mention that it's LTS now.
1549
1550 2022/05/27 : 2.6-dev12
1551 - CLEANUP: tools: Clean up non-QUIC error message handling in str2sa_range()
1552 - BUG/MEDIUM: tools: Fix `inet_ntop` usage in sa2str
1553 - CLEANUP: tools: Crash if inet_ntop fails due to ENOSPC in sa2str
1554 - BUG/MEDIUM: mux-quic: adjust buggy proxy closing support
1555 - Revert "MINOR: quic: activate QUIC traces at compilation"
1556 - Revert "MINOR: mux-quic: activate qmux traces on stdout via macro"
1557 - CLEANUP: init: address a coverity warning about possible multiply overflow
1558 - BUG/MEDIUM: http: Properly reject non-HTTP/1.x protocols
1559 - MEDIUM: h1: enlarge the scope of accepted version chars with accept-invalid-http-request
1560 - BUG/MEDIUM: resolvers: Don't defer resolutions release in deinit function
1561 - BUG/MEDIUM: peers: fix segfault using multiple bind on peers sections
1562 - BUG/MEDIUM: peers: prevent unitialized multiple listeners on peers section
1563 - BUG/MINOR: task: Don't defer tasks release when HAProxy is stopping
1564 - MINOR: h3: mark ncbuf as const on h3_b_dup
1565 - MINOR: mux-quic: do not alloc quic_stream_desc for uni remote stream
1566 - MINOR: mux-quic: delay cs_endpoint allocation
1567 - MINOR: mux-quic: add traces in qc_recv()
1568 - MINOR: mux-quic: adjust return value of decode_qcs
1569 - CLEANUP: h3: rename struct h3 -> h3c
1570 - CLEANUP: h3: rename uni stream type constants
1571 - BUG/MINOR: h3: prevent overflow when parsing SETTINGS
1572 - MINOR: h3: refactor h3_control_send()
1573 - MINOR: quic: support CONNECTION_CLOSE_APP emission
1574 - MINOR: mux-quic: disable read on CONNECTION_CLOSE emission
1575 - MINOR: h3: reject too big frames
1576 - MINOR: mux-quic: emit STREAM_STATE_ERROR in qcc_recv
1577 - BUG/MINOR: mux-quic: refactor uni streams TX/send H3 SETTINGS
1578 - MINOR: h3/qpack: use qcs as type in decode callbacks
1579 - MINOR: h3: define stream type
1580 - MINOR: h3: refactor uni streams initialization
1581 - MINOR: h3: check if frame is valid for stream type
1582 - MINOR: h3: define non-h3 generic parsing function
1583 - MEDIUM: quic: refactor uni streams RX
1584 - CLEANUP: h3: remove h3 uni tasklet
1585 - MINOR: h3: abort read on unknown uni stream
1586 - MINOR: h3: refactor SETTINGS parsing/error reporting
1587 - Revert "BUG/MINOR: task: Don't defer tasks release when HAProxy is stopping"
1588 - DOC: configuration: add a warning for @system-ca on bind
1589 - CLEANUP: init: address another coverity warning about a possible multiply overflow
1590 - BUG/MINOR: ssl/lua: use correctly cert_ext in CertCache.set()
1591 - BUG/MEDIUM: sample: Fix adjusting size in word converter
1592 - REGTESTS: Do not use REQUIRE_VERSION for HAProxy 2.5+ (2)
1593 - CLEANUP: conn_stream: remove unneeded exclusion of RX_WAIT_EP from RXBLK_ANY
1594 - CLEANUP: conn_stream: rename the cs_endpoint's context to "conn"
1595 - MINOR: conn_stream: add new sets of functions to set/get endpoint flags
1596 - DEV: coccinelle: add cs_endp_flags.cocci
1597 - CLEANUP: conn_stream: apply cs_endp_flags.cocci tree-wide
1598 - DEV: coccinelle: add endp_flags.cocci
1599 - CLEANUP: conn_stream: apply endp_flags.cocci tree-wide
1600 - CLEANUP: conn_stream: rename the stream endpoint flags CS_EP_* to SE_FL_*
1601 - CLEANUP: conn_stream: rename the cs_endpoint's target to "se"
1602 - CLEANUP: conn_stream: rename cs_endpoint to sedesc (stream endpoint descriptor)
1603 - CLEANUP: applet: rename the sedesc pointer from "endp" to "sedesc"
1604 - CLEANUP: conn_stream: rename the conn_stream's endp to sedesc
1605 - CLEANUP: conn_stream: rename cs_app_* to sc_app_*
1606 - CLEANUP: conn_stream: tree-wide rename to stconn (stream connector)
1607 - CLEANUP: mux-h1: add and use h1s_sc() to retrieve the stream connector
1608 - CLEANUP: mux-h2: add and use h2s_sc() to retrieve the stream connector
1609 - CLEANUP: mux-fcgi: add and use fcgi_strm_sc() to retrieve the stream connector
1610 - CLEANUP: mux-pt: add and use pt_sc() to retrieve the stream connector
1611 - CLEANUP: stdesc: rename the stream connector ->cs field to ->sc
1612 - CLEANUP: stream: rename "csf" and "csb" to "scf" and "scb"
1613 - CLEANUP: stconn: tree-wide rename stream connector flags CS_FL_* to SC_FL_*
1614 - CLEANUP: stconn: tree-wide rename stconn states CS_ST/SB_* to SC_ST/SB_*
1615 - MINOR: check: export wake_srv_chk()
1616 - MINOR: conn_stream: test the various ops functions before calling them
1617 - MEDIUM: stconn: merge the app_ops and the data_cb fields
1618 - MINOR: applet: add new wrappers to put chk/blk/str/chr to channel from appctx
1619 - CLEANUP: applet: use applet_put*() everywhere possible
1620 - CLEANUP: stconn: rename cs_{i,o}{b,c} to sc_{i,o}{b,c}
1621 - CLEANUP: stconn: rename cs_{check,strm,strm_task} to sc_strm_*
1622 - CLEANUP: stconn: rename cs_conn() to sc_conn()
1623 - CLEANUP: stconn: rename cs_mux() to sc_mux_strm()
1624 - CLEANUP: stconn: rename cs_conn_mux() to sc_mux_ops()
1625 - CLEANUP: stconn: rename cs_appctx() to sc_appctx()
1626 - CLEANUP: stconn: rename __cs_endp_target() to __sc_endp()
1627 - CLEANUP: stconn: rename cs_get_data_name() to sc_get_data_name()
1628 - CLEANUP: stconn: rename cs_conn_*() to sc_conn_*()
1629 - CLEANUP: stconn: rename cs_conn_get_first() to conn_get_first_sc()
1630 - CLEANUP: stconn: rename cs_ep_set_error() to se_fl_set_error()
1631 - CLEANUP: stconn: make a few functions take a const argument
1632 - CLEANUP: stconn: use a single function to know if SC may send to SE
1633 - MINOR: stconn: consider CF_SHUTW for sc_is_send_allowed()
1634 - MINOR: stconn: remove calls to cs_done_get()
1635 - MEDIUM: stconn: always rely on CF_SHUTR in addition to cs_rx_blocked()
1636 - MEDIUM: stconn: remove SE_FL_RXBLK_SHUT
1637 - MINOR: stconn: rename SE_FL_RXBLK_CONN to SE_FL_APPLET_NEED_CONN
1638 - MEDIUM: stconn: take SE_FL_APPLET_NEED_CONN out of the RXBLK_ANY flags
1639 - CLEANUP: stconn: rename cs_rx_room_{blk,rdy} to sc_{need,have}_room()
1640 - CLEANUP: stconn: rename cs_rx_chan_{blk,rdy} to sc_{wont,will}_read()
1641 - CLEANUP: stconn: rename cs_rx_buff_{blk,rdy} to sc_{need,have}_buff()
1642 - MINOR: stconn: start to rename cs_rx_endp_{more,done}() to se_have_{no_,}more_data()
1643 - MINOR: stconn: add sc_is_recv_allowed() to check for ability to receive
1644 - CLEANUP: stconn: rename SE_FL_RX_WAIT_EP to SE_FL_HAVE_NO_DATA
1645 - MEDIUM: stconn: move the RXBLK flags to the stream connector
1646 - CLEANUP: stconn: rename SE_FL_WANT_GET to SE_FL_WILL_CONSUME
1647 - CLEANUP: stconn: remove cs_tx_blocked() and cs_tx_endp_ready()
1648 - CLEANUP: stconn: rename cs_{want,stop}_get() to se_{will,wont}_consume()
1649 - CLEANUP: stconn: rename cs_cant_get() to se_need_more_data()
1650 - CLEANUP: stconn: rename cs_{new,create,free,destroy}_* to sc_*
1651 - CLEANUP: stconn: rename remaining management functions from cs_* to sc_*
1652 - CLEANUP: stconn: rename cs{,_get}_{src,dst} to sc_*
1653 - CLEANUP: stconn: rename cs_{shut,chk}* to sc_*
1654 - CLEANUP: stconn: rename final state manipulation functions from cs_* to sc_*
1655 - CLEANUP: quic: drop the name "conn_stream" from the pool variable names
1656 - REORG: rename cs_utils.h to sc_strm.h
1657 - REORG: stconn: rename conn_stream.{c,h} to stconn.{c,h}
1658 - CLEANUP: muxes: rename "get_first_cs" to "get_first_sc"
1659 - DEV: flags: use "sc" for stream conns instead of "cs"
1660 - CLEANUP: check: rename all occurrences of stconn "cs" to "sc"
1661 - CLEANUP: connection: rename all occurrences of stconn "cs" to "sc"
1662 - CLEANUP: stconn: rename all occurrences of stconn "cs" to "sc"
1663 - CLEANUP: quic/h3: rename all occurrences of stconn "cs" to "sc"
1664 - CLEANUP: stream: rename all occurrences of stconn "cs" to "sc"
1665 - CLEANUP: promex: rename all occurrences of stconn "cs" to "sc"
1666 - CLEANUP: stats: rename all occurrences of stconn "cs" to "sc"
1667 - CLEANUP: cli: rename all occurrences of stconn "cs" to "sc"
1668 - CLEANUP: applet: rename all occurrences of stconn "cs" to "sc"
1669 - CLEANUP: cache: rename all occurrences of stconn "cs" to "sc"
1670 - CLEANUP: dns: rename all occurrences of stconn "cs" to "sc"
1671 - CLEANUP: spoe: rename all occurrences of stconn "cs" to "sc"
1672 - CLEANUP: hlua: rename all occurrences of stconn "cs" to "sc"
1673 - CLEANUP: log-forward: rename all occurrences of stconn "cs" to "sc"
1674 - CLEANUP: http-client: rename all occurrences of stconn "cs" to "sc"
1675 - CLEANUP: mux-fcgi: rename all occurrences of stconn "cs" to "sc"
1676 - CLEANUP: mux-h1: rename all occurrences of stconn "cs" to "sc"
1677 - CLEANUP: mux-h2: rename all occurrences of stconn "cs" to "sc"
1678 - CLEANUP: mux-pt: rename all occurrences of stconn "cs" to "sc"
1679 - CLEANUP: peers: rename all occurrences of stconn "cs" to "sc"
1680 - CLEANUP: sink: rename all occurrences of stconn "cs" to "sc"
1681 - CLEANUP: sslsock: remove only occurrence of local variable "cs"
1682 - CLEANUP: applet: rename appctx_cs() to appctx_sc()
1683 - CLEANUP: stream: rename stream_upgrade_from_cs() to stream_upgrade_from_sc()
1684 - CLEANUP: obj_type: rename OBJ_TYPE_CS to OBJ_TYPE_SC
1685 - CLEANUP: stconn: replace a few remaining occurrences of CS in comments or traces
1686 - DOC: internal: update the muxes doc to mention the stconn
1687 - CLEANUP: mux-quic: rename the "endp" field to "sd"
1688 - CLEANUP: mux-h1: rename the "endp" field to "sd"
1689 - CLEANUP: mux-h2: rename the "endp" field to "sd"
1690 - CLEANUP: mux-fcgi: rename the "endp" field to "sd"
1691 - CLEANUP: mux-pt: rename the "endp" field to "sd"
1692 - CLEANUP: stconn: rename a few "endp" arguments and variables to "sd"
1693 - MINOR: stconn: turn SE_FL_WILL_CONSUME to SE_FL_WONT_CONSUME
1694 - CLEANUP: stream: remove unneeded test on appctx during initialization
1695 - CLEANUP: stconn: remove the new unneeded SE_FL_APP_MASK
1696 - DEV: flags: fix "siet" shortcut name
1697 - DEV: flags: rename the "endp" shortcut to "sd" for "stream descriptor"
1698 - DEV: flags: reorder a few SC/SE flags
1699 - DOC: internal: add a description of the stream connectors and descriptors
1700
1701 2022/05/20 : 2.6-dev11
1702 - CI: determine actual LibreSSL version dynamically
1703 - BUG/MEDIUM: ncbuf: fix null buffer usage
1704 - MINOR: ncbuf: fix warnings for testing build
1705 - MEDIUM: http-ana: Add a proxy option to restrict chars in request header names
1706 - MEDIUM: ssl: Delay random generator initialization after config parsing
1707 - MINOR: ssl: Add 'ssl-propquery' global option
1708 - MINOR: ssl: Add 'ssl-provider' global option
1709 - CLEANUP: Add missing header to ssl_utils.c
1710 - CLEANUP: Add missing header to hlua_fcn.c
1711 - CLEANUP: Remove unused function hlua_get_top_error_string
1712 - BUILD: fix build warning on solaris based systems with __maybe_unused.
1713 - MINOR: tools: add get_exec_path implementation for solaris based systems.
1714 - BUG/MINOR: ssl: Fix crash when no private key is found in pem
1715 - CLEANUP: conn-stream: Remove cs_applet_shut declaration from header file
1716 - MINOR: applet: Prepare appctx to own the session on frontend side
1717 - MINOR: applet: Let the frontend appctx release the session
1718 - MINOR: applet: Change return value for .init callback function
1719 - MINOR: stream: Export stream_free()
1720 - MINOR: applet: Add appctx_init() helper fnuction
1721 - MINOR: applet: Add a function to finalize frontend appctx startup
1722 - MINOR: applet: Add function to release appctx on error during init stage
1723 - MEDIUM: dns: Refactor dns appctx creation
1724 - MEDIUM: spoe: Refactor SPOE appctx creation
1725 - MEDIUM: lua: Refactor cosocket appctx creation
1726 - MEDIUM: httpclient: Refactor http-client appctx creation
1727 - MINOR: sink: Add a ref to sink in the sink_forward_target structure
1728 - MEDIUM: sink: Refactor sink forwarder appctx creation
1729 - MINOR: peers: Add a ref to peers section in the peer structure
1730 - MEDIUM: peers: Refactor peer appctx creation
1731 - MINOR: applet: Add API to start applet on a thread subset
1732 - MEDIUM: applet: Add support for async appctx startup on a thread subset
1733 - MINOR: peers: Track number of applets run by thread
1734 - MEDIUM: peers: Balance applets across threads
1735 - MINOR: conn-stream/applet: Stop setting appctx as the endpoint context
1736 - CLEANUP: proxy: Remove dead code when parsing "http-restrict-req-hdr-names" option
1737 - REGTESTS: abortonclose: Fix some race conditions
1738 - MINOR: ssl: Add 'ssl-provider-path' global option
1739 - CLEANUP: http_ana: Make use of the return value of stream_generate_unique_id()
1740 - BUG/MINOR: spoe: Fix error handling in spoe_init_appctx()
1741 - CLEANUP: peers: Remove unreachable code in peer_session_create()
1742 - CLEANUP: httpclient: Remove useless test on ss_dst in httpclient_applet_init()
1743 - BUG/MEDIUM: quic: fix Rx buffering
1744 - OPTIM: quic: realign empty Rx buffer
1745 - BUG/MINOR: ncbuf: fix ncb_is_empty()
1746 - MINOR: ncbuf: refactor ncb_advance()
1747 - BUG/MINOR: mux-quic: update session's idle delay before stream creation
1748 - MINOR: h3: do not wait a complete frame for demuxing
1749 - MINOR: h3: flag demux as full on HTX full
1750 - MEDIUM: mux-quic: implement recv on io-cb
1751 - MINOR: mux-quic: remove qcc_decode_qcs() call in XPRT
1752 - MINOR: mux-quic: reorganize flow-control frames emission
1753 - MINOR: mux-quic: implement MAX_STREAM_DATA emission
1754 - MINOR: mux-quic: implement MAX_DATA emission
1755 - BUG/MINOR: mux-quic: support nul buffer with qc_free_ncbuf()
1756 - MINOR: mux-quic: free RX buf if empty
1757 - BUG/MEDIUM: config: Reset outline buffer size on realloc error in readcfgfile()
1758 - BUG/MINOR: check: Reinit the buffer wait list at the end of a check
1759 - MEDIUM: check: No longer shutdown the connection in .wake callback function
1760 - REORG: check: Rename and export I/O callback function
1761 - MEDIUM: check: Use the CS to handle subscriptions for read/write events
1762 - BUG/MINOR: quic: break for error on sendto
1763 - MINOR: quic: abort on unlisted errno on sendto()
1764 - MINOR: quic: detect EBADF on sendto()
1765 - BUG/MEDIUM: quic: fix initialization for local/remote TPs
1766 - CLEANUP: quic: adjust comment/coding style for TPs init
1767 - BUG/MINOR: cfgparse: abort earlier in case of allocation error
1768 - MINOR: quic: Dump initial derived secrets
1769 - MINOR: quic_tls: Add quic_tls_derive_retry_token_secret()
1770 - MINOR: quic_tls: Add quic_tls_decrypt2() implementation
1771 - MINOR: quic: Retry implementation
1772 - MINOR: cfgparse: Update for "cluster-secret" keyword for QUIC Retry
1773 - MINOR: quic: Move quic_lstnr_dgram_dispatch() out of xprt_quic.c
1774 - BUILD: stats: Missing headers inclusions from stats.h
1775 - MINOR: quic_stats: Add a new stats module for QUIC
1776 - MINOR: quic: Attach proxy QUIC stats counters to the QUIC connection
1777 - BUG/MINOR: quic: Fix potential memory leak during QUIC connection allocations
1778 - MINOR: quic: QUIC stats counters handling
1779 - MINOR: quic: Add tune.quic.retry-threshold keyword
1780 - MINOR: quic: Dynamic Retry implementation
1781 - MINOR: quic/mux-quic: define CONNECTION_CLOSE send API
1782 - MINOR: mux-quic: emit FLOW_CONTROL_ERROR
1783 - MINOR: mux-quic: emit STREAM_LIMIT_ERROR
1784 - MINOR: mux-quic: close connection on error if different data at offset
1785 - BUG/MINOR: peers: fix error reporting of "bind" lines
1786 - CLEANUP: config: improve address parser error report for unmatched protocols
1787 - CLEANUP: config: provide cleare hints about unsupported QUIC addresses
1788 - MINOR: protocol: replace ctrl_type with xprt_type and clarify it
1789 - MINOR: listener: provide a function to process all of a bind_conf's arguments
1790 - MINOR: config: use the new bind_parse_args_list() to parse a "bind" line
1791 - CLEANUP: listener: add a comment about what the BC_SSL_O_* flags are for
1792 - MINOR: listener: add a new "options" entry in bind_conf
1793 - CLEANUP: listener: replace all uses of bind_conf->is_ssl with BC_O_USE_SSL
1794 - CLEANUP: listener: replace bind_conf->generate_cers with BC_O_GENERATE_CERTS
1795 - CLEANUP: listener: replace bind_conf->quic_force_retry with BC_O_QUIC_FORCE_RETRY
1796 - CLEANUP: listener: store stream vs dgram at the bind_conf level
1797 - MINOR: listener: detect stream vs dgram conflict during parsing
1798 - MINOR: listener: set the QUIC xprt layer immediately after parsing the args
1799 - MINOR: listener/ssl: set the SSL xprt layer only once the whole config is known
1800 - MINOR: connection: add flag MX_FL_FRAMED to mark muxes relying on framed xprt
1801 - MINOR: config: detect and report mux and transport incompatibilities
1802 - MINOR: listener: automatically select a QUIC mux with a QUIC transport
1803 - MINOR: listener: automatically enable SSL if a QUIC transport is found
1804 - BUG/MINOR: quic: Fixe a typo in qc_idle_timer_task()
1805 - BUG/MINOR: quic: Missing <conn_opening> stats counter decrementation
1806 - BUILD/MINOR: cpuset fix build for FreeBSD 13.1
1807 - CI: determine actual OpenSSL version dynamically
1808
1809 2022/05/14 : 2.6-dev10
1810 - MINOR: ssl: ignore dotfiles when loading a dir w/ ca-file
1811 - MEDIUM: ssl: ignore dotfiles when loading a dir w/ crt
1812 - BUG/MINOR: ssl: Fix typos in crl-file related CLI commands
1813 - MINOR: compiler: add a new macro to set an attribute on an enum when possible
1814 - BUILD: stats: conditionally mark obsolete stats states as deprecated
1815 - BUILD: ssl: work around bogus warning in gcc 12's -Wformat-truncation
1816 - BUILD: debug: work around gcc-12 excessive -Warray-bounds warnings
1817 - BUILD: listener: shut report of possible null-deref in listener_accept()
1818 - BUG/MEDIUM: ssl: fix the gcc-12 broken fix :-(
1819 - DOC: install: update gcc version requirements
1820 - BUILD: makefile: add -Wfatal-errors to the default flags
1821 - BUG/MINOR: server: Make SRV_STATE_LINE_MAXLEN value from 512 to 2kB (2000 bytes).
1822 - BUG/MAJOR: dns: multi-thread concurrency issue on UDP socket
1823 - BUG/MINOR: mux-h2: mark the stream as open before processing it not after
1824 - MINOR: mux-h2: report a trace event when failing to create a new stream
1825 - DOC: configuration: add the httpclient keywords to the global keywords index
1826 - MINOR: quic: Add a debug counter for sendto() errors
1827 - BUG/MINOR: quic: Dropped peer transport parameters
1828 - BUG/MINOR: quic: Wrong unit for ack delay for incoming ACK frames
1829 - MINOR: quic: Congestion controller event trace fix (loss)
1830 - MINOR: quic: Add correct ack delay values to ACK frames
1831 - MINOR: config: Add "cluster-secret" new global keyword
1832 - MINOR: quic-tls: Add quic_hkdf_extract_and_expand() for HKDF
1833 - MINOR: quic: new_quic_cid() code moving
1834 - MINOR: quic: Initialize stateless reset tokens with HKDF secrets
1835 - MINOR: qc_new_conn() rework for stateless reset
1836 - MINOR: quic: Stateless reset token copy to transport parameters
1837 - MINOR: quic: Send stateless reset tokens
1838 - MINOR: quic: Short packets always embed a trailing AEAD TAG
1839 - CLEANUP: quic: wrong use of eb*entry() macro
1840 - CLEANUP: quic: Useless use of pointer for quic_hkdf_extract()
1841 - CLEANUP: quic_tls: QUIC_TLS_IV_LEN defined two times
1842 - MINOR: ncbuf: define non-contiguous buffer
1843 - MINOR: ncbuf: complete API and define block interal abstraction
1844 - MINOR: ncbuf: optimize storage for the last gap
1845 - MINOR: ncbuf: implement insertion
1846 - MINOR: ncbuf: define various insertion modes
1847 - MINOR: ncbuf: implement advance
1848 - MINOR: ncbuf: write unit tests
1849 - BUG/MEDIUM: lua: fix argument handling in data removal functions
1850 - DOC/MINOR: fix typos in the lua-api document
1851 - BUG/MEDIUM: wdt: don't trigger the watchdog when p is unitialized
1852 - MINOR: mux-h1: Add global option accpet payload for any HTTP/1.0 requests
1853 - CLEANUP: mux-h1: Fix comments and error messages for global options
1854 - MINOR: conn_stream: make cs_set_error() work on the endpoint instead
1855 - CLEANUP: mux-h1: always take the endp from the h1s not the cs
1856 - CLEANUP: mux-h2: always take the endp from the h2s not the cs
1857 - CLEANUP: mux-pt: always take the endp from the context not the cs
1858 - CLEANUP: mux-fcgi: always take the endp from the fstrm not the cs
1859 - CLEANUP: mux-quic: always take the endp from the qcs not the cs
1860 - CLEANUP: applet: use the appctx's endp instead of cs->endp
1861 - MINOR: conn_stream: add a pointer back to the cs from the endpoint
1862 - MINOR: mux-h1: remove the now unneeded h1s->cs
1863 - MINOR: mux-h2: make sure any h2s always has an endpoint
1864 - MINOR: mux-h2: remove the now unneeded conn_stream from the h2s
1865 - MINOR: mux-fcgi: make sure any stream always has an endpoint
1866 - MINOR: mux-fcgi: remove the now unneeded conn_stream from the fcgi_strm
1867 - MINOR: mux-quic: remove the now unneeded conn_stream from the qcs
1868 - MINOR: mux-pt: remove the now unneeded conn_stream from the context
1869 - CLEANUP: muxes: make mux->attach/detach take a conn_stream endpoint
1870 - MINOR: applet: replace cs_applet_shut() with appctx_shut()
1871 - MINOR: applet: add appctx_strm() and appctx_cs() to access common fields
1872 - CLEANUP: applet: remove the unneeded appctx->owner
1873 - CLEANUP: conn_stream: merge cs_new_from_{mux,applet} into cs_new_from_endp()
1874 - MINOR: ext-check: indicate the transport and protocol of a server
1875 - BUG/MEDIUM: mux-quic: fix a thinko in the latest cs/endpoint cleanup
1876 - MINOR: tools: improve error message accuracy in str2sa_range
1877 - MINOR: config: make sure never to mix dgram and stream protocols on a bind line
1878 - BUG/MINOR: ncbuf: fix coverity warning on uninit sz_data
1879 - MINOR: xprt_quic: adjust flow-control according to bufsize
1880 - MEDIUM: mux-quic/h3/hq-interop: use ncbuf for bidir streams
1881 - MEDIUM: mux-quic/h3/qpack: use ncbuf for uni streams
1882 - CLEANUP: mux-quic: remove unused fields for Rx
1883 - CLEANUP: quic: remove unused quic_rx_strm_frm
1884
1885 2022/05/08 : 2.6-dev9
1886 - MINOR: mux-quic: support full request channel buffer
1887 - BUG/MINOR: h3: fix parsing of unknown frame type with null length
1888 - CLEANUP: backend: make alloc_{bind,dst}_address() idempotent
1889 - MEDIUM: stream: remove the confusing SF_ADDR_SET flag
1890 - MINOR: conn_stream: remove the now unused CS_FL_ADDR_*_SET flags
1891 - CLEANUP: protocol: make sure the connect_* functions always receive a dst
1892 - MINOR: connection: get rid of the CO_FL_ADDR_*_SET flags
1893 - MINOR: session: get rid of the now unused SESS_FL_ADDR_*_SET flags
1894 - CLEANUP: mux: Useless xprt_quic-t.h inclusion
1895 - MINOR: quic: Make the quic_conn be aware of the number of streams
1896 - BUG/MINOR: quic: Dropped retransmitted STREAM frames
1897 - BUG/MINOR: mux_quic: Dropped packet upon retransmission for closed streams
1898 - MEDIUM: httpclient: remove url2sa to use a more flexible parser
1899 - MEDIUM: httpclient: http-request rules for resolving
1900 - MEDIUM: httpclient: allow address and port change for resolving
1901 - CLEANUP: httpclient: remove the comment about resolving
1902 - MINOR: httpclient: handle unix and other socket types in dst
1903 - MINOR: httpclient: rename dash by dot in global option
1904 - MINOR: init: exit() after pre-check upon error
1905 - MINOR: httpclient: cleanup the error handling in init
1906 - MEDIUM: httpclient: hard-error when SSL is configured
1907 - MINOR: httpclient: allow to configure the ca-file
1908 - MINOR: httpclient: configure the resolvers section to use
1909 - MINOR: httpclient: allow ipv4 or ipv6 preference for resolving
1910 - DOC: configuration: httpclient global option
1911 - MINOR: conn-stream: Add mask from flags set by endpoint or app layer
1912 - BUG/MEDIUM: conn-stream: Only keep app layer flags of the endpoint on reset
1913 - BUG/MEDIUM: mux-fcgi: Be sure to never set EOM flag on an empty HTX message
1914 - BUG/MEDIUM: mux-h1: Be able to handle trailers when C-L header was specified
1915 - DOC: config: Update doc for PR/PH session states to warn about rewrite failures
1916 - MINOR: resolvers: cleanup alert/warning in parse-resolve-conf
1917 - MINOR: resolvers: move the resolv.conf parser in parse_resolv_conf()
1918 - MINOR: resolvers: resolvers_new() create a resolvers with default values
1919 - BUILD: debug: unify the definition of ha_backtrace_to_stderr()
1920 - BUG/MINOR: tcp/http: release the expr of set-{src,dst}[-port]
1921 - MEDIUM: resolvers: create a "default" resolvers section at startup
1922 - DOC: resolvers: default resolvers section
1923 - BUG/MINOR: startup: usage() when no -cc arguments
1924 - BUG/MEDIUM: resolvers: make "show resolvers" properly yield
1925 - BUG/MEDIUM: cli: make "show cli sockets" really yield
1926 - BUG/MINOR: proxy/cli: don't enumerate internal proxies on "show backend"
1927 - BUG/MINOR: map/cli: protect the backref list during "show map" errors
1928 - BUG/MINOR: map/cli: make sure patterns don't vanish under "show map"'s init
1929 - BUG/MINOR: ssl/cli: fix "show ssl ca-file/crl-file" not to mix cli+ssl contexts
1930 - BUG/MINOR: ssl/cli: fix "show ssl ca-file <name>" not to mix cli+ssl contexts
1931 - BUG/MINOR: ssl/cli: fix "show ssl crl-file" not to mix cli+ssl contexts
1932 - BUG/MINOR: ssl/cli: fix "show ssl cert" not to mix cli+ssl contexts
1933 - CLEANUP: ssl/cli: do not loop on unknown states in "add ssl crt-list" handler
1934 - MINOR: applet: reserve some generic storage in the applet's context
1935 - CLEANUP: applet: make appctx_new() initialize the whole appctx
1936 - CLEANUP: stream/cli: take the "show sess" context definition out of the appctx
1937 - CLEANUP: stream/cli: stop using appctx->st2 for the dump state
1938 - CLEANUP: stream/cli: remove the unneeded init state from "show sess"
1939 - CLEANUP: stream/cli: remove the unneeded STATE_FIN state from "show sess"
1940 - CLEANUP: stream/cli: remove the now unneeded dump state from "show sess"
1941 - CLEANUP: proxy/cli: take the "show errors" context definition out of the appctx
1942 - CLEANUP: stick-table/cli: take the "show table" context definition out of the appctx
1943 - CLEANUP: stick-table/cli: stop using appctx->st2 for the dump state
1944 - CLEANUP: stick-table/cli: remove the unneeded STATE_INIT for "show table"
1945 - CLEANUP: map/cli: take the "show map" context definition out of the appctx
1946 - CLEANUP: map/cli: stop using cli.i0/i1 to store the generation numbers
1947 - CLEANUP: map/cli: stop using appctx->st2 for the dump state
1948 - CLEANUP: map/cli: always detach the backref from the list after "show map"
1949 - CLEANUP: peers/cli: take the "show peers" context definition out of the appctx
1950 - CLEANUP: peers/cli: stop using appctx->st2 for the dump state
1951 - CLEANUP: peers/cli: remove unneeded state STATE_INIT
1952 - CLEANUP: cli: initialize the whole appctx->ctx, not just the stats part
1953 - CLEANUP: promex: make the applet use its own context
1954 - CLEANUP: promex: stop using appctx->st2
1955 - CLEANUP: stats/cli: take the "show stat" context definition out of the appctx
1956 - CLEANUP: stats/cli: stop using appctx->st2
1957 - CLEANUP: hlua/cli: take the hlua_cli context definition out of the appctx
1958 - CLEANUP: ssl/cli: use a local context for "show cafile"
1959 - CLEANUP: ssl/cli: use a local context for "show crlfile"
1960 - CLEANUP: ssl/cli: use a local context for "show ssl cert"
1961 - CLEANUP: ssl/cli: use a local context for "commit ssl cert"
1962 - CLEANUP: ssl/cli: stop using appctx->st2 for "commit ssl cert"
1963 - CLEANUP: ssl/cli: use a local context for "set ssl cert"
1964 - CLEANUP: ssl/cli: use a local context for "set ssl cafile"
1965 - CLEANUP: ssl/cli: use a local context for "set ssl crlfile"
1966 - CLEANUP: ssl/cli: use a local context for "commit ssl {ca|crl}file"
1967 - CLEANUP: ssl/cli: stop using appctx->st2 for "commit ssl ca/crl"
1968 - CLEANUP: ssl/cli: stop using ctx.cli.i0/i1/p0 for "show tls-keys"
1969 - CLEANUP: ssl/cli: add a new "dump_entries" field to "show_keys_ref"
1970 - CLEANUP: ssl/cli: make "show tlskeys" not use appctx->st2 anymore
1971 - CLEANUP: ssl/cli: make "show ssl ocsp-response" not use cli.p0 anymore
1972 - CLEANUP: ssl/cli: make "{show|dump} ssl crtlist" use its own context
1973 - CLEANUP: ssl/cli: make "add ssl crtlist" use its own context
1974 - CLEANUP: ssl/cli: make "add ssl crtlist" not use st2 anymore
1975 - CLEANUP: dns: stop abusing the sink forwarder's context
1976 - CLEANUP: sink: use the generic context to store the forwarder's context
1977 - CLEANUP: activity/cli: make "show profiling" not use ctx.cli anymore
1978 - CLEANUP: debug/cli: make "debug dev fd" not use ctx.cli anymore
1979 - CLEANUP: debug/cli: make "debug dev memstats" not use ctx.cli anymore
1980 - CLEANUP: ring: pass the ring watch flags to ring_attach_cli(), not in ctx.cli
1981 - CLEANUP: ring/cli: use a locally-defined context instead of using ctx.cli
1982 - CLEANUP: resolvers/cli: make "show resolvers" use a locally-defined context
1983 - CLEANUP: resolvers/cli: remove the unneeded appctx->st2 from "show resolvers"
1984 - CLEANUP: cache/cli: make use of a locally defined context for "show cache"
1985 - CLEANUP: proxy/cli: make use of a locally defined context for "show servers"
1986 - CLEANUP: proxy/cli: get rid of appctx->st2 in "show servers"
1987 - CLEANUP: proxy/cli: make "show backend" only use the generic context
1988 - CLEANUP: cli: make "show fd" use its own context
1989 - CLEANUP: cli: make "show env" use its own context
1990 - CLEANUP: cli: simplify the "show cli sockets" I/O handler
1991 - CLEANUP: cli: make "show cli sockets" use its own context
1992 - CLEANUP: httpclient/cli: use a locally-defined context instead of ctx.cli
1993 - CLEANUP: httpclient: do not use the appctx.ctx anymore
1994 - CLEANUP: peers: do not use appctx.ctx anymore
1995 - CLEANUP: spoe: do not use appctx.ctx anymore
1996 - BUILD: applet: mark the CLI's generic variables as deprecated
1997 - BUILD: applet: mark the appctx's st2 variable as deprecated
1998 - CLEANUP: cache: take the context out of appctx.ctx
1999 - MEDIUM: lua: move the cosocket storage outside of appctx.ctx
2000 - MINOR: lua: move the tcp service storage outside of appctx.ctx
2001 - MINOR: lua: move the http service context out of appctx.ctx
2002 - CLEANUP: cli: move the status print context into its own context
2003 - CLEANUP: stats: rename the stats state values an mark the old ones deprecated
2004 - DOC: internal: document the new cleaner approach to the appctx
2005 - MINOR: tcp: socket translate TCP_KEEPIDLE for macOs equivalent
2006 - DOC: fix typo "ant" for "and" in INSTALL
2007 - CI: dynamically determine actual version of h2spec
2008
2009 2022/04/30 : 2.6-dev8
2010 - BUG/MINOR: quic: fix use-after-free with trace on ACK consume
2011 - BUG/MINOR: rules: Forbid captures in defaults section if used by a backend
2012 - BUG/MEDIUM: rules: Be able to use captures defined in defaults section
2013 - BUG/MINOR: rules: Fix check_capture() function to use the right rule arguments
2014 - BUG/MINOR: http-act: make release_http_redir() more robust
2015 - BUG/MINOR: sample: add missing use_backend/use-server contexts in smp_resolve_args
2016 - MINOR: sample: don't needlessly call c_none() in sample_fetch_as_type()
2017 - MINOR: sample: make the bool type cast to bin
2018 - MEDIUM: backend: add new "balance hash <expr>" algorithm
2019 - MINOR: init: add global setting "fd-hard-limit" to bound system limits
2020 - BUILD: pollers: use an initcall to register the pollers
2021 - BUILD: xprt: use an initcall to register the transport layers
2022 - BUILD: thread: use initcall instead of a constructor
2023 - BUILD: http: remove the two unused constructors in rules and ana
2024 - CLEANUP: compression: move the default setting of maxzlibmem to defaults
2025 - MINOR: tree-wide: always consider EWOULDBLOCK in addition to EAGAIN
2026 - BUG/MINOR: connection: "connection:close" header added despite 'close-spread-time'
2027 - MINOR: fd: add functions to set O_NONBLOCK and FD_CLOEXEC
2028 - CLEANUP: tree-wide: use fd_set_nonblock() and fd_set_cloexec()
2029 - CLEANUP: tree-wide: remove 25 occurrences of unneeded fcntl.h
2030 - REGTESTS: fix the race conditions in be2dec.vtc ad field.vtc
2031 - REGTESTS: webstats: remove unused stats socket in /tmp
2032 - MEDIUM: httpclient: disable SSL when the ca-file couldn't be loaded
2033 - BUG/MINOR: httpclient/lua: error when the httpclient_start() fails
2034 - BUG/MINOR: ssl: free the cafile entries on deinit
2035 - BUG/MINOR: ssl: memory leak when trying to load a directory with ca-file
2036 - MEDIUM: httpclient: re-enable the verify by default
2037 - BUG/MEDIUM: ssl/cli: fix yielding in show_cafile_detail
2038 - BUILD: compiler: properly distinguish weak and global symbols
2039 - MINOR: connection: Add way to disable active connection closing during soft-stop
2040 - BUG/MEDIUM: http-ana: Fix memleak in redirect rules with ignore-empty option
2041 - CLEANUP: Destroy `http_err_chunks` members during deinit
2042 - BUG/MINOR: resolvers: Fix memory leak in resolvers_deinit()
2043 - MINOR: Call deinit_and_exit(0) for `haproxy -vv`
2044 - BUILD: fd: disguise the fd_set_nonblock/cloexec result
2045 - BUG/MINOR: pools: make sure to also destroy shared pools in pool_destroy_all()
2046 - MINOR: ssl: add a new global option "tune.ssl.hard-maxrecord"
2047 - CLEANUP: errors: also call deinit_errors_buffers() on deinit()
2048 - CLEANUP: chunks: release trash also in deinit
2049 - CLEANUP: deinit: release the pre-check callbacks
2050 - CLEANUP: deinit: release the config postparsers
2051 - CLEANUP: listeners/deinit: release accept queue tasklets on deinit
2052 - CLEANUP: connections/deinit: destroy the idle_conns tasks
2053 - BUG/MINOR: mux-quic: fix build in release mode
2054 - MINOR: mux-quic: adjust comment on emission function
2055 - MINOR: mux-quic: remove unused bogus qcc_get_stream()
2056 - BUG/MINOR: mux-quic: fix leak if cs alloc failure
2057 - MINOR: mux-quic: count local flow-control stream limit on reception
2058 - BUG/MINOR: h3: fix incomplete POST requests
2059 - BUG/MEDIUM: h3: fix use-after-free on mux Rx buffer wrapping
2060 - MINOR: mux-quic: partially copy Rx frame if almost full buf
2061 - MINOR: h3: change frame demuxing API
2062 - MINOR: mux-quic: add a app-layer context in qcs
2063 - MINOR: h3: implement h3 stream context
2064 - MINOR: h3: support DATA demux if buffer full
2065 - MINOR: quic: decode as much STREAM as possible
2066 - MINOR: quic: Improve qc_prep_pkts() flexibility
2067 - MINOR: quic: Prepare quic_frame struct duplication
2068 - MINOR: quic: Do not retransmit frames from coalesced packets
2069 - MINOR: quic: Add traces about TX frame memory releasing
2070 - MINOR: quic: process_timer() rework
2071 - MEDIUM: quic: New functions for probing rework
2072 - MEDIUM: quic: Retransmission functions rework
2073 - MEDIUM: quic: qc_requeue_nacked_pkt_tx_frms() rework
2074 - MINOR: quic: old data distinction for qc_send_app_pkt()
2075 - MINOR: quic: Mark packets as probing with old data
2076 - MEDIUM: quic: Mark copies of acknowledged frames as acknowledged
2077 - MEDIUM: quic: Enable the new datagram probing process
2078 - MINOR: quic: Do not send ACK frames when probing
2079 - BUG/MINOR: quic: Wrong returned status by qc_build_frms()
2080 - BUG/MINOR: quic: Avoid sending useless PADDING frame
2081 - BUG/MINOR: quic: Traces fix about remaining frames upon packet build failure
2082 - MINOR: quic: Wake up the mux to probe with new data
2083 - BUG/MEDIUM: quic: Possible crash on STREAM frame loss
2084 - BUG/MINOR: quic: Missing Initial packet length check
2085 - CLEANUP: quic: Rely on the packet length set by qc_lstnr_pkt_rcv()
2086 - MINOR: quic: Drop 0-RTT packets if not allowed
2087 - BUG/MINOR: httpclient/ssl: use the correct verify constant
2088 - BUG/MEDIUM: conn-stream: Don't erase endpoint flags on reset
2089 - BUG/MEDIUM: httpclient: Fix loop consuming HTX blocks from the response channel
2090 - BUG/MINOR: httpclient: Count metadata in size to transfer via htx_xfer_blks()
2091 - MINOR: httpclient: Don't use co_set_data() to decrement output
2092 - BUG/MINOR: conn_stream: do not confirm a connection from the frontend path
2093 - MEDIUM: quic: do not ACK packet with STREAM if MUX not present
2094 - MEDIUM: quic: do not ack packet with invalid STREAM
2095 - MINOR: quic: Drop 0-RTT packets without secrets
2096 - CLEANUP: quic: Remaining fprintf() debug trace
2097 - MINOR: quic: moving code for QUIC loss detection
2098 - BUG/MINOR: quic: Missing time threshold multiplifier for loss delay computation
2099 - CI: github actions: update LibreSSL to 3.5.2
2100 - SCRIPTS: announce-release: add URL of dev packages
2101
2102 2022/04/23 : 2.6-dev7
2103 - BUILD: calltrace: fix wrong include when building with TRACE=1
2104 - MINOR: ssl: Use DH parameters defined in RFC7919 instead of hard coded ones
2105 - MEDIUM: ssl: Disable DHE ciphers by default
2106 - BUILD: ssl: Fix compilation with OpenSSL 1.0.2
2107 - MINOR: mux-quic: split xfer and STREAM frames build
2108 - REORG: quic: use a dedicated module for qc_stream_desc
2109 - MINOR: quic-stream: use distinct tree nodes for quic stream and qcs
2110 - MINOR: quic-stream: add qc field
2111 - MEDIUM: quic: implement multi-buffered Tx streams
2112 - MINOR: quic-stream: refactor ack management
2113 - MINOR: quic: limit total stream buffers per connection
2114 - MINOR: mux-quic: implement immediate send retry
2115 - MINOR: cfg-quic: define tune.quic.conn-buf-limit
2116 - MINOR: ssl: Add 'show ssl providers' cli command and providers list in -vv option
2117 - REGTESTS: ssl: Update error messages that changed with OpenSSLv3.1.0-dev
2118 - BUG/MEDIUM: quic: Possible crash with released mux
2119 - BUG/MINOR: mux-quic: unsubscribe on release
2120 - BUG/MINOR: mux-quic: handle null timeout
2121 - BUG/MEDIUM: logs: fix http-client's log srv initialization
2122 - BUG/MINOR: mux-quic: remove dead code in qcs_xfer_data()
2123 - DEV: stream: Fix conn-streams dump in full stream message
2124 - CLEANUP: conn-stream: Rename cs_conn_close() and cs_conn_drain_and_close()
2125 - CLEANUP: conn-stream: Rename cs_applet_release()
2126 - MINOR: conn-stream: Rely on endpoint shutdown flags to shutdown an applet
2127 - BUG/MINOR: cache: Disable cache if applet creation fails
2128 - BUG/MINOR: backend: Don't allow to change backend applet
2129 - BUG/MEDIUM: conn-stream: Set back CS to RDY state when the appctx is created
2130 - MINOR: stream: Don't needlessly detach server endpoint on early client abort
2131 - MINOR: conn-stream: Make cs_detach_* private and use cs_destroy() from outside
2132 - MINOR: init: add the pre-check callback
2133 - MEDIUM: httpclient: change the init sequence
2134 - MEDIUM: httpclient/ssl: verify required
2135 - MINOR: httpclient/mworker: disable in the master process
2136 - MEDIUM: httpclient/ssl: verify is configurable and disabled by default
2137 - BUG/MAJOR: connection: Never remove connection from idle lists outside the lock
2138 - BUG/MEDIUM: mux-quic: fix stalled POST requets
2139 - BUG/MINOR: mux-quic: fix POST with abortonclose
2140 - MINOR: task: add a new task_instant_wakeup() function
2141 - MEDIUM: queue: use tasklet_instant_wakeup() to wake tasks
2142 - DOC: remove my name from the config doc
2143
2144 2022/04/16 : 2.6-dev6
2145 - CLEANUP: connection: reduce the with of the mux dump output
2146 - CI: Update to actions/checkout@v3
2147 - CI: Update to actions/cache@v3
2148 - DOC: adjust QUIC instruction in INSTALL
2149 - BUG/MINOR: stats: define the description' background color in dark color scheme
2150 - BUILD: ssl: add USE_ENGINE and disable the openssl engine by default
2151 - BUILD: makefile: pass USE_ENGINE to cflags
2152 - BUILD: xprt-quic: replace ERR_func_error_string() with ERR_peek_error_func()
2153 - DOC: install: document the fact that SSL engines are not enabled by default
2154 - CI: github actions: disable -Wno-deprecated
2155 - BUILD: makefile: silence unbearable OpenSSL deprecation warnings
2156 - MINOR: sock: check configured limits at the sock layer, not the listener's
2157 - MINOR: connection: add a new flag CO_FL_FDLESS on fd-less connections
2158 - MINOR: connection: add conn_fd() to retrieve the FD only when it exists
2159 - MINOR: stream: only dump connections' FDs when they are valid
2160 - MINOR: connection: use conn_fd() when displaying connection errors
2161 - MINOR: connection: skip FD-based syscalls for FD-less connections
2162 - MEDIUM: connection: panic when calling FD-specific functions on FD-less conns
2163 - MINOR: mux-quic: properly set the flags and name fields
2164 - MINOR: connection: rearrange conn_get_src/dst to be a bit more extensible
2165 - MINOR: protocol: add get_src() and get_dst() at the protocol level
2166 - MINOR: quic-sock: provide a pair of get_src/get_dst functions
2167 - MEDIUM: ssl: improve retrieval of ssl_sock_ctx and SSL detection
2168 - MEDIUM: ssl: stop using conn->xprt_ctx to access the ssl_sock_ctx
2169 - MEDIUM: xprt-quic: implement get_ssl_sock_ctx()
2170 - MEDIUM: quic: move conn->qc into conn->handle
2171 - BUILD: ssl: fix build warning with previous changes to ssl_sock_ctx
2172 - BUILD: ssl: add an unchecked version of __conn_get_ssl_sock_ctx()
2173 - MINOR: ssl: refine the error testing for fc_err and fc_err_str
2174 - BUG/MINOR: sock: do not double-close the accepted socket on the error path
2175 - CI: cirrus: switch to FreeBSD-13.0
2176 - MINOR: log: add '~' to frontend when the transport layer provides SSL
2177 - BUILD/DEBUG: lru: fix printf format in debug code
2178 - BUILD: peers: adjust some printf format to silence cppcheck
2179 - BUILD/DEBUG: hpack-tbl: fix format string in standalone debug code
2180 - BUILD/DEBUG: hpack: use unsigned int in printf format in debug code
2181 - BUILD: halog: fix some incorrect signs in printf formats for integers
2182 - BUG/MINOR: h3: fix build with DEBUG_H3
2183 - BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent
2184 - BUG/MINOR: cache: do not display expired entries in "show cache"
2185 - BUG/MINOR: mux-h1: Don't release unallocated CS on error path
2186 - MINOR: applet: Make .init callback more generic
2187 - MINOR: conn-stream: Add flags to set the type of the endpoint
2188 - MEDIUM: applet: Set the appctx owner during allocation
2189 - MAJOR: conn-stream: Invert conn-stream endpoint and its context
2190 - REORG: Initialize the conn-stream by hand in cs_init()
2191 - MEDIUM: conn-stream: Add an endpoint structure in the conn-stream
2192 - MINOR: conn-stream: Move some CS flags to the endpoint
2193 - MEDIUM: conn-stream: Be able to pass endpoint to create a conn-stream
2194 - MEDIUM: conn-stream: Pre-allocate endpoint to create CS from muxes and applets
2195 - REORG: applet: Uninline appctx_new function
2196 - MAJOR: conn-stream: Share endpoint struct between the CS and the mux/applet
2197 - MEDIUM: conn-stream: Move remaning flags from CS to endpoint
2198 - MINOR: mux-pt: Rely on the endpoint instead of the conn-stream when possible
2199 - MINOR: conn-stream: Add ISBACK conn-stream flag
2200 - MINOR: conn-stream: Add header file with util functions related to conn-streams
2201 - MEDIUM: tree-wide: Use CS util functions instead of SI ones
2202 - MINOR: stream-int/txn: Move buffer for L7 retries in the HTTP transaction
2203 - CLEANUP: http-ana: Remove http_alloc_txn() function
2204 - MINOR: stream-int/stream: Move conn_retries counter in the stream
2205 - MINOR: stream: Simplify retries counter calculation
2206 - MEDIUM: stream-int/conn-stream: Move src/dst addresses in the conn-stream
2207 - MINOR: stream-int/conn-stream: Move half-close timeout in the conn-stream
2208 - MEDIUM: stream-int/stream: Use connect expiration instead of SI expiration
2209 - MINOR: stream-int/conn-stream: Report error to the CS instead of the SI
2210 - MEDIUM: conn-stream: Use endpoint error instead of conn-stream error
2211 - MINOR: channel: Use conn-streams as channel producer and consumer
2212 - MINOR: stream-int: Remove SI_FL_KILL_CON to rely on conn-stream endpoint only
2213 - MINOR: mux-h2/mux-fcgi: Fully rely on CS_EP_KILL_CONN
2214 - MINOR: stream-int: Remove SI_FL_NOLINGER/NOHALF to rely on CS flags instead
2215 - MINOR: stream-int: Remove SI_FL_DONT_WAKE to rely on CS flags instead
2216 - MINOR: stream-int: Remove SI_FL_INDEP_STR to rely on CS flags instead
2217 - MINOR: stream-int: Remove SI_FL_SRC_ADDR to rely on stream flags instead
2218 - CLEANUP: stream-int: Remove unused SI_FL_CLEAN_ABRT flag
2219 - MINOR: stream: Only save previous connection state for the server side
2220 - MEDIUM: stream-int: Move SI err_type in the stream
2221 - MEDIUM: stream-int/conn-stream: Move stream-interface state in the conn-stream
2222 - MINOR: stream-int/stream: Move si_retnclose() in the stream scope
2223 - MINOR: stream-int/backend: Move si_connect() in the backend scope
2224 - MINOR: stream-int/conn-stream: Move si_conn_ready() in the conn-stream scope
2225 - MINOR: conn-stream/connection: Move SHR/SHW modes in the connection scope
2226 - MEDIUM: conn-stream: Be prepared to fail to attach a cs to a mux
2227 - MEDIUM: stream-int/conn-stream: Handle I/O subscriptions in the conn-stream
2228 - MINOR: conn-stream: Rename CS functions dedicated to connections
2229 - MINOR: stream-int/conn-stream: Move si_shut* and si_chk* in conn-stream scope
2230 - MEDIUM: stream-int/conn-stream: Move si_ops in the conn-stream scope
2231 - MINOR: applet: Use the CS to register and release applets instead of SI
2232 - MINOR: connection: unconst mux's get_fist_cs() callback function
2233 - MINOR: stream-int/connection: Move conn_si_send_proxy() in the connection scope
2234 - REORG: stream-int: Export si_cs_recv(), si_cs_send() and si_cs_process()
2235 - REORG: stream-int: Move si_is_conn_error() in the header file
2236 - REORG: conn-stream: Move cs_shut* and cs_chk* in cs_utils
2237 - REORG: conn-stream: Move cs_app_ops in conn_stream.c
2238 - MINOR: stream-int-conn-stream: Move si_update_* in conn-stream scope
2239 - MINOR: stream-int/stream: Move si_update_both in stream scope
2240 - MEDIUM: conn-stream/applet: Add a data callback for applets
2241 - MINOR: stream-int/conn-stream: Move stream_int_read0() in the conn-stream scope
2242 - MINOR: stream-int/conn-stream: Move stream_int_notify() in the conn-stream scope
2243 - MINOR: stream-int/conn-stream: Move si_cs_io_cb() in the conn-stream scope
2244 - MINOR: stream-int/conn-stream: Move si_sync_recv/send() in conn-stream scope
2245 - MINOR: conn-stream: Move si_conn_cb in the conn-stream scope
2246 - MINOR: stream-int/conn-stream Move si_is_conn_error() in the conn-stream scope
2247 - MINOR: stream-int/conn-stream: Move si_alloc_ibuf() in the conn-stream scope
2248 - CLEANUP: stream-int: Remove unused SI functions
2249 - MEDIUM: stream-int/conn-stream: Move blocking flags from SI to CS
2250 - MEDIUM: stream-int/conn-stream: Move I/O functions to conn-stream
2251 - REORG: stream-int/conn-stream: Move remaining functions to conn-stream
2252 - MINOR: stream: Use conn-stream to report server error
2253 - MINOR: http-ana: Use CS to perform L7 retries
2254 - MEDIUM: stream: Don't use the stream-int anymore in process_stream()
2255 - MINOR: conn-stream: Remove the stream-interface from the conn-stream
2256 - DEV: flags: No longer dump SI flags
2257 - CLEANUP: tree-wide: Remove any ref to stream-interfaces
2258 - CLEANUP: conn-stream: Don't export internal functions
2259 - DOC: conn-stream: Add comments on functions of the new CS api
2260 - MEDIUM: check: Use a new conn-stream for each health-check run
2261 - CLEANUP: muxes: Remove MX_FL_CLEAN_ABRT flag
2262 - MINOR: conn-stream: Use a dedicated function to conditionally remove a CS
2263 - CLEANUP: conn-stream: rename cs_register_applet() to cs_applet_create()
2264 - MINOR: muxes: Improve show_fd callbacks to dump endpoint flags
2265 - MINOR: mux-h1: Rely on the endpoint instead of the conn-stream when possible
2266 - BUG/MINOR: quic: Avoid starting the mux if no ALPN sent by the client
2267 - BUILD: debug: mark the __start_mem_stats/__stop_mem_stats symbols as weak
2268 - BUILD: initcall: mark the __start_i_* symbols as weak, not global
2269 - BUG/MINOR: mux-h2: do not use timeout http-keep-alive on backend side
2270 - BUG/MINOR: mux-h2: use timeout http-request as a fallback for http-keep-alive
2271 - MINOR: muxes: Don't expect to have a mux without connection in destroy callback
2272 - MINOR: muxes: Don't handle proto upgrade for muxes not supporting it
2273 - MINOR: muxes: Don't expect to call release function with no mux defined
2274 - MINOR: conn-stream: Use unsafe functions to get conn/appctx in cs_detach_endp
2275 - BUG/MEDIUM: mux-h1: Don't request more room on partial trailers
2276 - BUILD: http-client: Avoid dead code when compiled without SSL support
2277 - BUG/MINOR: mux-quic: prevent a crash in session_free on mux.destroy
2278 - BUG/MINOR: quic-sock: do not double free session on conn init failure
2279 - BUG/MINOR: quic: fix return value for error in start
2280 - MINOR: quic: emit CONNECTION_CLOSE on app init error
2281 - BUILD: sched: workaround crazy and dangerous warning in Clang 14
2282 - BUILD: compiler: use a more portable set of asm(".weak") statements
2283 - BUG/MEDIUM: stream: do not abort connection setup too early
2284 - CLEANUP: extcheck: do not needlessly preset the server's address/port
2285 - MINOR: extcheck: fill in the server's UNIX socket address when known
2286 - BUG/MEDIUM: connection: Don't crush context pointer location if it is a CS
2287 - BUG/MEDIUM: quic: properly clean frames on stream free
2288 - BUG/MEDIUM: fcgi-app: Use http_msg flags to know if C-L header can be added
2289 - BUG/MEDIUM: compression: Don't forget to update htx_sl and http_msg flags
2290 - MINOR: tcp_sample: clarifying samples support per os, for further expansion.
2291 - MINOR: tcp_sample: extend support for get_tcp_info to macOs.
2292 - SCRIPTS: announce-release: update the doc's URL
2293 - DOC: lua: update a few doc URLs
2294 - SCRIPTS: announce-release: add shortened links to pending issues
2295
2296 2022/04/09 : 2.6-dev5
2297 - DOC: reflect H2 timeout changes
2298 - BUG/MEDIUM: mux-fcgi: Properly handle return value of headers/trailers parsing
2299 - BUG/MEDIUM: mux-h1: Properly detect full buffer cases during message parsing
2300 - BUG/MINOR: log: Initialize the list element when allocating a new log server
2301 - BUG/MINOR: samples: add missing context names for sample fetch functions
2302 - MINOR: management: add some basic keyword dump infrastructure
2303 - MINOR: config: add a function to dump all known config keywords
2304 - MINOR: filters: extend flt_dump_kws() to dump to stdout
2305 - MINOR: services: extend list_services() to dump to stdout
2306 - MINOR: cli: add a new keyword dump function
2307 - MINOR: acl: add a function to dump the list of known ACL keywords
2308 - MINOR: samples: add a function to list register sample fetch keywords
2309 - MINOR: sample: list registered sample converter functions
2310 - MINOR: tools: add strordered() to check whether strings are ordered
2311 - MINOR: action: add a function to dump the list of actions for a ruleset
2312 - MINOR: config: alphanumerically sort config keywords output
2313 - MINOR: sample: alphanumerically sort sample & conv keyword dumps
2314 - MINOR: acl: alphanumerically sort the ACL dump
2315 - MINOR: cli: alphanumerically sort the dump of supported commands
2316 - MINOR: filters: alphabetically sort the list of filter names
2317 - MINOR: services: alphabetically sort service names
2318 - MEDIUM: httpclient/lua: be stricter with httpclient parameters
2319 - MINOR: ssl: split the cert commit io handler
2320 - MINOR: ssl: move the cert_exts and the CERT_TYPE enum
2321 - MINOR: ssl: simplify the certificate extensions array
2322 - MINOR: ssl: export ckch_inst_rebuild()
2323 - MINOR: ssl: add "crt" in the cert_exts array
2324 - MINOR: ssl/lua: CertCache.set() allows to update an SSL certificate file
2325 - BUILD: ssl/lua: CacheCert needs OpenSSL
2326 - DOC: lua: CertCache class documentation
2327 - BUG/MEDIUM: quic: do not use qcs from quic_stream on ACK parsing
2328 - MINOR: mux-quic: return qcs instance from qcc_get_qcs
2329 - MINOR: mux-quic: reorganize qcs free
2330 - MINOR: mux-quic: define release app-ops
2331 - BUG/MINOR: h3: release resources on close
2332 - BUG/MINOR: mux-quic: ensure to free all qcs on MUX release
2333 - CLEANUP: quic: complete comment on qcs_try_to_consume
2334 - MINOR: quic: implement stream descriptor for transport layer
2335 - MEDIUM: quic: move transport fields from qcs to qc_conn_stream
2336 - MEDIUM: mux-quic: remove qcs tree node
2337 - BUG/MINOR: cli/stream: fix "shutdown session" to iterate over all threads
2338 - DOC: management: add missing dot in 9.4.1
2339 - BUG/MAJOR: mux_pt: always report the connection error to the conn_stream
2340 - DOC: remove double blanks in configuration.txt
2341 - CI: github actions: update OpenSSL to 3.0.2
2342 - BUG/MEDIUM: quic: Possible crash in ha_quic_set_encryption_secrets()
2343 - CLEANUP: quic: Remove all atomic operations on quic_conn struct
2344 - CLEANUP: quic: Remove all atomic operations on packet number spaces
2345 - MEDIUM: quic: Send ACK frames asap
2346 - BUG/MINOR: quic: Missing probing packets when coalescing
2347 - BUG/MINOR: quic: Discard Initial packet number space only one time
2348 - MINOR: quic: Do not display any timer value from process_timer()
2349 - BUG/MINOR: quic: Do not probe from an already probing packet number space
2350 - BUG/MINOR: quic: Non duplicated frames upon fast retransmission
2351 - BUG/MINOR: quic: Too much prepared retransmissions due to anti-amplification
2352 - MINOR: quic: Useless call to SSL_CTX_set_default_verify_paths()
2353 - MINOR: quic: Add traces about list of frames
2354 - BUG/MINOR: h3: Missing wait event struct field initialization
2355 - BUG/MINOR: quic: QUIC TLS secrets memory leak
2356 - BUG/MINOR: quic: Missing ACK range deallocations
2357 - BUG/MINOR: quic: Missing TX packet deallocations
2358 - CLEANUP: hpack: be careful about integer promotion from uint8_t
2359 - OPTIM: hpack: read 32 bits at once when possible.
2360 - MEDIUM: ssl: allow loading of a directory with the ca-file directive
2361 - BUG/MINOR: ssl: continue upon error when opening a directory w/ ca-file
2362 - MINOR: ssl: ca-file @system-ca loads the system trusted CA
2363 - DOC: configuration: add the ca-file changes
2364 - MINOR: sample: converter: Add add_item convertor
2365 - BUG/MINOR: ssl: handle X509_get_default_cert_dir() returning NULL
2366 - BUG/MINOR: ssl/cli: Remove empty lines from CLI output
2367 - MINOR: httpclient: enable request buffering
2368 - MEDIUM: httpclient: enable l7-retry
2369 - BUG/MINOR: httpclient: end callback in applet release
2370 - MINOR: quic: Add draining connection state.
2371 - MINOR: quic: Add closing connection state
2372 - BUG/MEDIUM: quic: ensure quic-conn survives to the MUX
2373 - CLEANUP: quic: use static qualifer on quic_close
2374 - CLEANUP: mux-quic: remove unused QC_CF_CC_RECV
2375 - BUG/MINOR: fix memleak on quic-conn streams cleaning
2376 - MINOR: mux-quic: factorize conn-stream attach
2377 - MINOR: mux-quic: adjust timeout to accelerate closing
2378 - MINOR: mux-quic: define is_active app-ops
2379 - MINOR: mux-quic: centralize send operations in qc_send
2380 - MEDIUM: mux-quic: report CO_FL_ERROR on send
2381 - MEDIUM: mux-quic: report errors on conn-streams
2382 - MEDIUM: quic: report closing state for the MUX
2383 - BUG/MINOR: fcgi-app: Don't add C-L header on response to HEAD requests
2384 - BUG/MEDIUM: stats: Be sure to never set EOM flag on an empty HTX message
2385 - BUG/MEDIUM: hlua: Don't set EOM flag on an empty HTX message in HTTP applet
2386 - BUG/MEDIUM: promex: Be sure to never set EOM flag on an empty HTX message
2387 - BUG/MEDIUM: mux-h1: Set outgoing message to DONE when payload length is reached
2388 - BUG/MINOR: http_client: Don't add input data on an empty request buffer
2389 - BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples
2390 - BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid
2391 - CLEANUP: mux-quic: remove uneeded TODO in qc_detach
2392 - BUG/MEDIUM: mux-quic: properly release conn-stream on detach
2393 - BUG/MINOR: quic: set the source not the destination address on accept()
2394 - BUG/MEDIUM: quic: Possible crash from quic_free_arngs()
2395 - MINOR: quic_tls: Add reusable cipher contexts to QUIC TLS contexts
2396 - MINOR: quic_tls: Stop hardcoding cipher IV lengths
2397 - CLEANUP: quic: Do not set any cipher/group from ssl_quic_initial_ctx()
2398 - MINOR: quic: Add short packet key phase bit values to traces
2399 - MINOR: quic_tls: Make key update use of reusable cipher contexts
2400 - BUG/MINOR: opentracing: setting the return value in function flt_ot_var_set()
2401 - BUG/BUILD: opentracing: fixed OT_DEFINE variable setting
2402 - EXAMPLES: opentracing: refined shell scripts for testing filter performance
2403 - DOC: opentracing: corrected comments in function descriptions
2404 - CLEANUP: opentracing: removed unused function flt_ot_var_unset()
2405 - CLEANUP: opentracing: removed unused function flt_ot_var_get()
2406 - Revert "MINOR: opentracing: change the scope of the variable 'ot.uuid' from 'sess' to 'txn'"
2407 - MINOR: opentracing: only takes the variables lock on shared entries
2408 - CLEANUP: opentracing: added flt_ot_smp_init() function
2409 - CLEANUP: opentracing: added variable to store variable length
2410 - MINOR: opentracing: improved normalization of context variable names
2411 - DEBUG: opentracing: show return values of all functions in the debug output
2412 - CLEANUP: opentracing: added FLT_OT_PARSE_INVALID_enum enum
2413 - DEBUG: opentracing: display the contents of the err variable after setting
2414 - MAJOR: opentracing: reenable usage of vars to transmit opentracing context
2415 - Revert "BUILD: opentracing: display warning in case of using OT_USE_VARS at compile time"
2416 - MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window
2417
2418 2022/03/26 : 2.6-dev4
2419 - BUG/MEDIUM: httpclient: don't consume data before it was analyzed
2420 - CLEANUP: htx: remove unused co_htx_remove_blk()
2421 - BUG/MINOR: httpclient: consume partly the blocks when necessary
2422 - BUG/MINOR: httpclient: remove the UNUSED block when parsing headers
2423 - BUG/MEDIUM: httpclient: must manipulate head, not first
2424 - REGTESTS: fix the race conditions in be2hex.vtc
2425 - BUG/MEDIUM: quic: Blocked STREAM when retransmitted
2426 - BUG/MAJOR: quic: Possible crash with full congestion control window
2427 - BUG/MINOR: httpclient/lua: stuck when closing without data
2428 - BUG/MEDIUM: applet: Don't call .release callback function twice
2429 - BUG/MEDIUM: cli/debug: Properly get the stream-int in all debug I/O handlers
2430 - BUG/MEDIUM: sink: Properly get the stream-int in appctx callback functions
2431 - DEV: udp: switch parser to getopt() instead of positional arguments
2432 - DEV: udp: add support for random packet corruption
2433 - MINOR: server: export server_parse_sni_expr() function
2434 - BUG/MINOR: httpclient: send the SNI using the host header
2435 - BUILD: httpclient: fix build without SSL
2436 - BUG/MINOR: server/ssl: free the SNI sample expression
2437 - BUG/MINOR: logs: fix logsrv leaks on clean exit
2438 - MINOR: actions: add new function free_act_rule() to free a single rule
2439 - BUG/MINOR: tcp-rules: completely free incorrect TCP rules on error
2440 - BUG/MINOR: http-rules: completely free incorrect TCP rules on error
2441 - BUG/MINOR: httpclient: only check co_data() instead of HTTP_MSG_DATA
2442 - BUG/MINOR: httpclient: process the response when received before the end of the request
2443 - BUG/MINOR: httpclient: CF_SHUTW_NOW should be tested with channel_is_empty()
2444 - CI: github actions: switch to LibreSSL-3.5.1
2445 - BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf
2446 - BUG/MEDIUM: stream-int: do not rely on the connection error once established
2447 - BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner
2448 - MEDIUM: mux-h2: slightly relax timeout management rules
2449 - BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts
2450 - BUG/MINOR: rules: Initialize the list element when allocating a new rule
2451 - BUG/MINOR: http-rules: Don't free new rule on allocation failure
2452 - DEV: coccinelle: Fix incorrect replacement in ist.cocci
2453 - CLEANUP: Reapply ist.cocci with `--include-headers-for-types --recursive-includes`
2454 - DEV: coccinelle: Add a new pattern to ist.cocci
2455 - CLEANUP: Reapply ist.cocci
2456 - REGTESTS: Do not use REQUIRE_VERSION for HAProxy 2.5+
2457 - MINOR: quic: Code factorization (TX buffer reuse)
2458 - CLEANUP: quic: "largest_acked_pn" pktns struc member moving
2459 - MEDIUM: quic: Limit the number of ACK ranges
2460 - MEDIUM: quic: Rework of the TX packets memory handling
2461 - BUG/MINOR: quic: Possible crash in parse_retry_token()
2462 - BUG/MINOR: quic: Possible leak in quic_build_post_handshake_frames()
2463 - BUG/MINOR: quic: Unsent frame because of qc_build_frms()
2464 - BUG/MINOR: mux-quic: Access to empty frame list from qc_send_frames()
2465 - BUG/MINOR: mux-quic: Missing I/O handler events initialization
2466 - BUG/MINOR: quic: Missing TX packet initializations
2467 - BUG/MINOR: quic: 1RTT packets ignored after mux was released
2468 - BUG/MINOR: quic: Incorrect peer address validation
2469 - BUG/MINOR: quic: Non initialized variable in quic_build_post_handshake_frames()
2470 - BUG/MINOR: quic: Wrong TX packet related counters handling
2471 - MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1
2472 - DOC: config: Explictly add supported MQTT versions
2473 - MINOR: quic: Add traces about stream TX buffer consumption
2474 - MINOR: quic: Add traces in qc_set_timer() (scheduling)
2475 - CLEANUP: mux-quic: change comment style to not mess with git conflict
2476 - CLEANUP: mux-quic: adjust comment for coding-style
2477 - MINOR: mux-quic: complete trace when stream is not found
2478 - MINOR: mux-quic: add comments for send functions
2479 - MINOR: mux-quic: use shorter name for flow-control fields
2480 - MEDIUM: mux-quic: respect peer bidirectional stream data limit
2481 - MEDIUM: mux-quic: respect peer connection data limit
2482 - MINOR: mux-quic: support MAX_STREAM_DATA frame parsing
2483 - MINOR: mux-quic: support MAX_DATA frame parsing
2484 - BUILD: stream-int: avoid a build warning when DEBUG is empty
2485 - BUG/MINOR: quic: Wrong buffer length passed to generate_retry_token()
2486 - BUG/MINOR: tools: fix url2sa return value with IPv4
2487 - MINOR: mux-quic: convert fin on push-frame as boolean
2488 - BUILD: quic: add missing includes
2489 - REORG: quic: use a dedicated quic_loss.c
2490 - MINOR: mux-quic: declare the qmux trace module
2491 - MINOR: mux-quic: replace printfs by traces
2492 - MINOR: mux-quic: add trace event for frame sending
2493 - MINOR: mux-quic: add trace event for qcs_push_frame
2494 - MINOR: mux-quic: activate qmux traces on stdout via macro
2495 - BUILD: qpack: fix unused value when not using DEBUG_HPACK
2496 - CLEANUP: qpack: suppress by default stdout traces
2497 - CLEANUP: h3: suppress by default stdout traces
2498 - BUG/MINOR: tools: url2sa reads too far when no port nor path
2499
2500 2022/03/11 : 2.6-dev3
2501 - DEBUG: rename WARN_ON_ONCE() to CHECK_IF()
2502 - DEBUG: improve BUG_ON output message accuracy
2503 - DEBUG: implement 4 levels of choices between warn and crash.
2504 - DEBUG: add two new macros to enable debugging in hot paths
2505 - DEBUG: buf: replace some sensitive BUG_ON() with BUG_ON_HOT()
2506 - DEBUG: buf: add BUG_ON_HOT() to most buffer management functions
2507 - MINOR: channel: don't use co_set_data() to decrement output
2508 - DEBUG: channel: add consistency checks using BUG_ON_HOT() in some key functions
2509 - MINOR: conn-stream: Improve API to have safe/unsafe accessors
2510 - MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant
2511 - CLEANUP: stream-int: Make si_cs_send() function static
2512 - REORG: stream-int: Uninline si_sync_recv() and make si_cs_recv() private
2513 - BUG/MEDIUM: mux-fcgi: Don't rely on SI src/dst addresses for FCGI health-checks
2514 - BUG/MEDIUM: htx: Fix a possible null derefs in htx_xfer_blks()
2515 - REGTESTS: fix the race conditions in normalize_uri.vtc
2516 - DEBUG: stream-int: Fix BUG_ON used to test appctx in si_applet_ops callbacks
2517 - BUILD: debug: fix build warning on older compilers around DEBUG_STRICT_ACTION
2518 - CLEANUP: connection: Indicate unreachability to the compiler in conn_recv_proxy
2519 - MINOR: connection: Transform safety check in PROXYv2 parsing into BUG_ON()
2520 - DOC: install: it's DEBUG_CFLAGS, not DEBUG, which is set to -g
2521 - DOC: install: describe the DEP variable
2522 - DOC: install: describe how to choose options used in the DEBUG variable
2523 - MINOR: queue: Replace if() + abort() with BUG_ON()
2524 - CLEANUP: adjust indentation in bidir STREAM handling function
2525 - MINOR: quic: simplify copy of STREAM frames to RX buffer
2526 - MINOR: quic: handle partially received buffered stream frame
2527 - MINOR: mux-quic: define flag for last received frame
2528 - BUG/MINOR: quic: support FIN on Rx-buffered STREAM frames
2529 - MEDIUM: quic: rearchitecture Rx path for bidirectional STREAM frames
2530 - REGTESTS: fix the race conditions in secure_memcmp.vtc
2531 - CLEANUP: stream: Remove useless tests on conn-stream in stream_dump()
2532 - BUILD: ssl: another build warning on LIBRESSL_VERSION_NUMBER
2533 - MINOR: quic: Ensure PTO timer is not set in the past
2534 - MINOR: quic: Post handshake I/O callback switching
2535 - MINOR: quic: Drop the packets of discarded packet number spaces
2536 - CLEANUP: quic: Useless tests in qc_try_rm_hp()
2537 - CLEANUP: quic: Indentation fix in qc_prep_pkts()
2538 - MINOR: quic: Assemble QUIC TLS flags at the same level
2539 - BUILD: conn_stream: avoid null-deref warnings on gcc 6
2540 - BUILD: connection: do not declare register_mux_proto() inline
2541 - BUILD: http_rules: do not declare http_*_keywords_registre() inline
2542 - BUILD: trace: do not declare trace_registre_source() inline
2543 - BUILD: tcpcheck: do not declare tcp_check_keywords_register() inline
2544 - DEBUG: reduce the footprint of BUG_ON() calls
2545 - BUG/MEDIUM: httpclient/lua: infinite appctx loop with POST
2546 - BUG/MINOR: pool: always align pool_heads to 64 bytes
2547 - DEV: udp: add a tiny UDP proxy for testing
2548 - DEV: udp: implement pseudo-random reordering/loss
2549 - DEV: udp: add an optional argument to set the prng seed
2550 - BUG/MINOR: quic: fix segfault on CC if mux uninitialized
2551 - BUG/MEDIUM: pools: fix ha_free() on area in the process of being freed
2552 - CLEANUP: tree-wide: remove a few rare non-ASCII chars
2553 - CI: coverity: simplify debugging options
2554 - CLEANUP: quic: complete ABORT_NOW with a TODO comment
2555 - MINOR: quic: qc_prep_app_pkts() implementation
2556 - MINOR: quic: Send short packet from a frame list
2557 - MINOR: quic: Make qc_build_frms() build ack-eliciting frames from a list
2558 - MINOR: quic: Export qc_send_app_pkts()
2559 - MINOR: mux-quic: refactor transport parameters init
2560 - MINOR: mux-quic: complete functions to detect stream type
2561 - MINOR: mux-quic: define new unions for flow-control fields
2562 - MEDIUM: mux-quic: use direct send transport API for STREAMs
2563 - MINOR: mux-quic: retry send opportunistically for remaining frames
2564 - MEDIUM: mux-quic: implement MAX_STREAMS emission for bidir streams
2565 - BUILD: fix kFreeBSD build.
2566 - MINOR: quic: Retry on qc_build_pkt() failures
2567 - BUG/MINOR: quic: Missing recovery start timer reset
2568 - CLEANUP: quic: Remove QUIC path manipulations out of the congestion controller
2569 - MINOR: quic: Add a "slow start" callback to congestion controller
2570 - MINOR: quic: Persistent congestion detection outside of controllers
2571 - CLEANUP: quic: Remove useless definitions from quic_cc_event struct
2572 - BUG/MINOR: quic: Confusion betwen "in_flight" and "prep_in_flight" in quic_path_prep_data()
2573 - MINOR: quic: More precise window update calculation
2574 - CLEANUP: quic: Remove window redundant variable from NewReno algorithm state struct
2575 - MINOR: quic: Add quic_max_int_by_size() function
2576 - BUG/MAJOR: quic: Wrong quic_max_available_room() returned value
2577 - MINOR: pools: add a new global option "no-memory-trimming"
2578 - BUG/MINOR: add missing modes in proxy_mode_str()
2579 - BUG/MINOR: cli: shows correct mode in "show sess"
2580 - BUG/MEDIUM: quic: do not drop packet on duplicate stream/decoding error
2581 - MINOR: stats: Add dark mode support for socket rows
2582 - BUILD: fix recent build breakage of freebsd caused by kFreeBSD build fix
2583 - BUG/MINOR: httpclient: Set conn-stream/channel EOI flags at the end of request
2584 - BUG/MINOR: hlua: Set conn-stream/channel EOI flags at the end of request
2585 - BUG/MINOR: stats: Set conn-stream/channel EOI flags at the end of request
2586 - BUG/MINOR: cache: Set conn-stream/channel EOI flags at the end of request
2587 - BUG/MINOR: promex: Set conn-stream/channel EOI flags at the end of request
2588 - BUG/MEDIUM: stream: Use the front analyzers for new listener-less streams
2589 - DEBUG: cache: Update underlying buffer when loading HTX message in cache applet
2590 - BUG/MEDIUM: mcli: Properly handle errors and timeouts during reponse processing
2591 - DEBUG: stream: Add the missing descriptions for stream trace events
2592 - DEBUG: stream: Fix stream trace message to print response buffer state
2593 - MINOR: proxy: Store monitor_uri as a `struct ist`
2594 - MINOR: proxy: Store fwdfor_hdr_name as a `struct ist`
2595 - MINOR: proxy: Store orgto_hdr_name as a `struct ist`
2596 - MEDIUM: proxy: Store server_id_hdr_name as a `struct ist`
2597 - CLEANUP: fcgi: Replace memcpy() on ist by istcat()
2598 - CLEANUP: fcgi: Use `istadv()` in `fcgi_strm_send_params`
2599 - BUG/MAJOR: mux-pt: Always destroy the backend connection on detach
2600 - DOC: sample fetch methods: move distcc_* to the right locations
2601 - MINOR: rules: record the last http/tcp rule that gave a final verdict
2602 - MINOR: stream: add "last_rule_file" and "last_rule_line" samples
2603 - BUG/MINOR: session: fix theoretical risk of memleak in session_accept_fd()
2604 - MINOR: quic: Add max_idle_timeout advertisement handling
2605 - MEDIUM: quic: Remove the QUIC connection reference counter
2606 - BUG/MINOR: quic: ACK_REQUIRED and ACK_RECEIVED flag collision
2607 - BUG/MINOR: quic: Missing check when setting the anti-amplification limit as reached
2608 - MINOR: quic: Add a function to compute the current PTO
2609 - MEDIUM: quic: Implement the idle timeout feature
2610 - BUG/MEDIUM: quic: qc_prep_app_pkts() retries on qc_build_pkt() failures
2611 - CLEANUP: quic: Comments fix for qc_prep_(app)pkts() functions
2612 - MINOR: mux-quic: prevent push frame for unidir streams
2613 - MINOR: mux-quic: improve opportunistic retry sending for STREAM frames
2614 - MINOR: quic: implement sending confirmation
2615 - MEDIUM: mux-quic: improve bidir STREAM frames sending
2616 - MEDIUM: check: do not auto configure SSL/PROXY for dynamic servers
2617 - REGTESTS: server: test SSL/PROXY with checks for dynamic servers
2618 - MEDIUM: server: remove experimental-mode for dynamic servers
2619 - BUG/MINOR: buffer: fix debugging condition in b_peek_varint()
2620
2621 2022/02/25 : 2.6-dev2
2622 - DOC: management: rework the Master CLI section
2623 - DOC: management: add expert and experimental mode in 9.4.1
2624 - CLEANUP: cleanup a commentary in pcli_parse_request()
2625 - BUG/MINOR: mworker/cli: don't display help on master applet
2626 - MINOR: mworker/cli: mcli-debug-mode enables every command
2627 - MINOR: mworker/cli: add flags in the prompt
2628 - BUG/MINOR: httpclient: Revisit HC request and response buffers allocation
2629 - BUG/MEDIUM: httpclient: Xfer the request when the stream is created
2630 - MINOR: httpclient: Don't limit data transfer to 1024 bytes
2631 - BUILD: ssl: adjust guard for X509_get_X509_PUBKEY(x)
2632 - REGTESTS: ssl: skip show_ssl_ocspresponse.vtc when BoringSSL is used
2633 - MINOR: quic: Do not modify a marked as consumed datagram
2634 - MINOR: quic: Wrong datagram buffer passed to quic_lstnr_dgram_dispatch()
2635 - MINOR: quic: Remove a useless test in quic_get_dgram_dcid()
2636 - BUG/MINOR: ssl: Remove empty lines from "show ssl ocsp-response <id>" output
2637 - CLEANUP: ssl: Remove unused ssl_sock_create_cert function
2638 - MINOR: ssl: Use high level OpenSSL APIs in sha2 converter
2639 - MINOR: ssl: Remove EC_KEY related calls when preparing SSL context
2640 - REGTESTS: ssl: Add test for "curves" and "ecdhe" SSL options
2641 - MINOR: ssl: Remove EC_KEY related calls when creating a certificate
2642 - REGTESTS: ssl: Add test for "generate-certificates" SSL option
2643 - MINOR: ssl: Remove call to SSL_CTX_set_tlsext_ticket_key_cb with OpenSSLv3
2644 - MINOR: ssl: Remove call to HMAC_Init_ex with OpenSSLv3
2645 - MINOR: h3: hardcode the stream id of control stream
2646 - MINOR: mux-quic: remove quic_transport_params_update
2647 - MINOR: quic: rename local tid variable
2648 - MINOR: quic: remove unused xprt rcv_buf operation
2649 - MINOR: quic: take out xprt snd_buf operation
2650 - CI: enable QUIC for Coverity scan
2651 - BUG/MINOR: mworker: does not erase the pidfile upon reload
2652 - MINOR: ssl: Remove call to ERR_func_error_string with OpenSSLv3
2653 - MINOR: ssl: Remove call to ERR_load_SSL_strings with OpenSSLv3
2654 - REGTESTS: ssl: Add tests for DH related options
2655 - MINOR: ssl: Create HASSL_DH wrapper structure
2656 - MINOR: ssl: Add ssl_sock_get_dh_from_bio helper function
2657 - MINOR: ssl: Factorize ssl_get_tmp_dh and append a cbk to its name
2658 - MINOR: ssl: Add ssl_sock_set_tmp_dh helper function
2659 - MINOR: ssl: Add ssl_sock_set_tmp_dh_from_pkey helper function
2660 - MINOR: ssl: Add ssl_new_dh_fromdata helper function
2661 - MINOR: ssl: Build local DH of right size when needed
2662 - MINOR: ssl: Set default dh size to 2048
2663 - MEDIUM: ssl: Replace all DH objects by EVP_PKEY on OpenSSLv3 (via HASSL_DH type)
2664 - MINOR: ssl: Remove calls to SSL_CTX_set_tmp_dh_callback on OpenSSLv3
2665 - MINOR: quic: Remove an RX buffer useless lock
2666 - MINOR: quic: Variable used before being checked in ha_quic_add_handshake_data()
2667 - MINOR: quic: EINTR error ignored
2668 - MINOR: quic: Potential overflow expression in qc_parse_frm()
2669 - MINOR: quic: Possible overflow in qpack_get_varint()
2670 - CLEANUP: h3: Unreachable target in h3_uqs_init()
2671 - MINOR: quic: Possible memleak in qc_new_conn()
2672 - MINOR: quic: Useless statement in quic_crypto_data_cpy()
2673 - BUG/MEDIUM: pools: ensure items are always large enough for the pool_cache_item
2674 - BUG/MINOR: pools: always flush pools about to be destroyed
2675 - CLEANUP: pools: don't needlessly set a call mark during refilling of caches
2676 - DEBUG: pools: add extra sanity checks when picking objects from a local cache
2677 - DEBUG: pools: let's add reverse mapping from cache heads to thread and pool
2678 - DEBUG: pools: replace the link pointer with the caller's address on pool_free()
2679 - BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks
2680 - MINOR: quic: use a global dghlrs for each thread
2681 - BUG/MEDIUM: quic: fix crash on CC if mux not present
2682 - MINOR: qpack: fix typo in trace
2683 - BUG/MINOR: quic: fix FIN stream signaling
2684 - BUG/MINOR: h3: fix the header length for QPACK decoding
2685 - MINOR: h3: remove transfer-encoding header
2686 - MINOR: h3: add documentation on h3_decode_qcs
2687 - MINOR: h3: set properly HTX EOM/BODYLESS on HEADERS parsing
2688 - MINOR: mux-quic: implement rcv_buf
2689 - MINOR: mux-quic: set EOS on rcv_buf
2690 - MINOR: h3: set CS_FL_NOT_FIRST
2691 - MINOR: h3: report frames bigger than rx buffer
2692 - MINOR: h3: extract HEADERS parsing in a dedicated function
2693 - MINOR: h3: implement DATA parsing
2694 - MINOR: quic: Wrong smoothed rtt initialization
2695 - MINOR: quic: Wrong loss delay computation
2696 - MINOR: quic: Code never reached in qc_ssl_sess_init()
2697 - MINOR: quic: ha_quic_set_encryption_secrets without server specific code
2698 - MINOR: quic: Avoid warning about NULL pointer dereferences
2699 - MINOR: quic: Useless test in quic_lstnr_dghdlr()
2700 - MINOR: quic: Non checked returned value for cs_new() in hq_interop_decode_qcs()
2701 - MINOR: h3: Dead code in h3_uqs_init()
2702 - MINOR: quic: Non checked returned value for cs_new() in h3_decode_qcs()
2703 - MINOR: quic: Possible frame parsers array overrun
2704 - MINOR: quic: Do not retransmit too much packets.
2705 - MINOR: quic: Move quic_rxbuf_pool pool out of xprt part
2706 - MINOR: h3: report error on HEADERS/DATA parsing
2707 - BUG/MINOR: jwt: Double free in deinit function
2708 - BUG/MINOR: jwt: Missing pkey free during cleanup
2709 - BUG/MINOR: jwt: Memory leak if same key is used in multiple jwt_verify calls
2710 - BUG/MINOR: httpclient/cli: display junk characters in vsn
2711 - MINOR: h3: remove unused return value on decode_qcs
2712 - BUG/MAJOR: http/htx: prevent unbounded loop in http_manage_server_side_cookies
2713 - BUG/MAJOR: spoe: properly detach all agents when releasing the applet
2714 - REGTESTS: server: close an occasional race on dynamic_server_ssl.vtc
2715 - REGTESTS: peers: leave a bit more time to peers to synchronize
2716 - BUG/MEDIUM: h2/hpack: fix emission of HPACK DTSU after settings change
2717 - BUG/MINOR: mux-h2: update the session's idle delay before creating the stream
2718 - BUG/MINOR: httpclient: reinit flags in httpclient_start()
2719 - BUG/MINOR: mailers: negotiate SMTP, not ESMTP
2720 - MINOR: httpclient: sets an alternative destination
2721 - MINOR: httpclient/lua: add 'dst' optionnal field
2722 - BUG/MINOR: ssl: Add missing return value check in ssl_ocsp_response_print
2723 - BUG/MINOR: ssl: Fix leak in "show ssl ocsp-response" CLI command
2724 - BUG/MINOR: ssl: Missing return value check in ssl_ocsp_response_print
2725 - CLEANUP: httpclient/cli: fix indentation alignment of the help message
2726 - BUG/MINOR: tools: url2sa reads ipv4 too far
2727 - BUG/MEDIUM: httpclient: limit transfers to the maximum available room
2728 - DEBUG: buffer: check in __b_put_blk() whether the buffer room is respected
2729 - MINOR: mux-quic: fix a possible null dereference in qc_timeout_task
2730 - BUG/MEDIUM: htx: Be sure to have a buffer to perform a raw copy of a message
2731 - BUG/MEDIUM: mux-h1: Don't wake h1s if mux is blocked on lack of output buffer
2732 - BUG/MAJOR: mux-h2: Be sure to always report HTX parsing error to the app layer
2733 - DEBUG: stream-int: Check CS_FL_WANT_ROOM is not set with an empty input buffer
2734 - MINOR: quic: do not modify offset node if quic_rx_strm_frm in tree
2735 - MINOR: h3: fix compiler warning variable set but not used
2736 - MINOR: mux-quic: fix uninitialized return on qc_send
2737 - MINOR: quic: fix handling of out-of-order received STREAM frames
2738 - MINOR: pools: mark most static pool configuration variables as read-mostly
2739 - CLEANUP: pools: remove the now unused pool_is_crowded()
2740 - REGTESTS: fix the race conditions in 40be_2srv_odd_health_checks
2741 - BUG/MEDIUM: stream: Abort processing if response buffer allocation fails
2742 - MINOR: httpclient/lua: ability to set a server timeout
2743 - BUG/MINOR: httpclient/lua: missing pop for new timeout parameter
2744 - DOC: httpclient/lua: fix the type of the dst parameter
2745 - CLEANUP: httpclient: initialize the client in stage INIT not REGISTER
2746 - CLEANUP: muxes: do not use a dynamic trash in list_mux_protos()
2747 - CLEANUP: vars: move the per-process variables initialization to vars.c
2748 - CLEANUP: init: remove the ifdef on HAPROXY_MEMMAX
2749 - MINOR: pools: disable redundant poisonning on pool_free()
2750 - MINOR: pools: introduce a new pool_debugging global variable
2751 - MINOR: pools: switch the fail-alloc test to runtime only
2752 - MINOR: pools: switch DEBUG_DONT_SHARE_POOLS to runtime
2753 - MINOR: pools: add a new debugging flag POOL_DBG_COLD_FIRST
2754 - MINOR: pools: add a new debugging flag POOL_DBG_INTEGRITY
2755 - MINOR: pools: make the global pools a runtime option.
2756 - MEDIUM: pools: replace CONFIG_HAP_POOLS with a runtime "NO_CACHE" flag.
2757 - MINOR: pools: store the allocated size for each pool
2758 - MINOR: pools: get rid of POOL_EXTRA
2759 - MINOR: pools: replace DEBUG_POOL_TRACING with runtime POOL_DBG_CALLER
2760 - MINOR: pools: replace DEBUG_MEMORY_POOLS with runtime POOL_DBG_TAG
2761 - MINOR: pools: add a debugging flag for memory poisonning option
2762 - MEDIUM: initcall: move STG_REGISTER earlier
2763 - MEDIUM: init: split the early initialization in its own function
2764 - MINOR: init: extract args parsing to their own function
2765 - MEDIUM: init: handle arguments earlier
2766 - MINOR: pools: delegate parsing of command line option -dM to a new function
2767 - MINOR: pools: support setting debugging options using -dM
2768 - BUILD: makefile: enable both DEBUG_STRICT and DEBUG_MEMORY_POOLS by default
2769 - CI: github: enable pool debugging by default
2770 - DOC: Fix usage/examples of deprecated ACLs
2771 - DOC: internal: update the pools API to mention boot-time settings
2772 - DOC: design: add design thoughts for later simplification of the pools
2773 - DOC: design: commit the temporary design notes on thread groups
2774 - MINOR: stream-int: Handle appctx case first when releasing the endpoint
2775 - MINOR: connection: Be prepared to handle conn-stream with no connection
2776 - MINOR: stream: Handle appctx case first when creating a new stream
2777 - MINOR: connection: Add a function to detach a conn-stream from the connection
2778 - MINOR: stream-int: Add function to reset a SI endpoint
2779 - MINOR: stream-int: Add function to attach a connection to a SI
2780 - MINOR: stream-int: Be able to allocate a CS without connection
2781 - MEDIUM: stream: No longer release backend conn-stream on connection retry
2782 - MEDIUM: stream: Allocate backend CS when the stream is created
2783 - REORG: conn_stream: move conn-stream stuff in dedicated files
2784 - MEDIUM: conn-stream: No longer access connection field directly
2785 - MEDIUM: conn-stream: Be prepared to use an appctx as conn-stream endpoint
2786 - MAJOR: conn_stream/stream-int: move the appctx to the conn-stream
2787 - MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int
2788 - MEDIUM: conn_stream: Add a pointer to the app object into the conn-stream
2789 - MINOR: stream: Add pointer to front/back conn-streams into stream struct
2790 - MINOR: stream: Slightly rework stream_new to separate CS/SI initialization
2791 - MINOR: stream-int: Always access the stream-int via the conn-stream
2792 - MINOR: backend: Always access the stream-int via the conn-stream
2793 - MINOR: stream: Always access the stream-int via the conn-stream
2794 - MINOR: http-ana: Always access the stream-int via the conn-stream
2795 - MINOR: cli: Always access the stream-int via the conn-stream
2796 - MINOR: log: Always access the stream-int via the conn-stream
2797 - MINOR: frontend: Always access the stream-int via the conn-stream
2798 - MINOR: proxy: Always access the stream-int via the conn-stream
2799 - MINOR: peers: Always access the stream-int via the conn-stream
2800 - MINOR: debug: Always access the stream-int via the conn-stream
2801 - MINOR: hlua: Always access the stream-int via the conn-stream
2802 - MINOR: cache: Always access the stream-int via the conn-stream
2803 - MINOR: dns: Always access the stream-int via the conn-stream
2804 - MINOR: http-act: Always access the stream-int via the conn-stream
2805 - MINOR: httpclient: Always access the stream-int via the conn-stream
2806 - MINOR: tcp-act: Always access the stream-int via the conn-stream
2807 - MINOR: sink: Always access the stream-int via the conn-stream
2808 - MINOR: conn-stream: Rename cs_detach() to cs_detach_endp()
2809 - CLEANUP: conn-stream: Don't export conn-stream pool
2810 - MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream
2811 - CLEANUP: stream-int: rename si_reset() to si_init()
2812 - MINOR: conn-stream: Release a CS when both app and endp are detached
2813 - MINOR: stream: Don't destroy conn-streams but detach app and endp
2814 - MAJOR: check: Use a persistent conn-stream for health-checks
2815 - CLEANUP: conn-stream: Remove cs_destroy()
2816 - CLEANUP: backend: Don't export connect_server anymore
2817 - BUG/MINOR: h3/hq_interop: Fix CS and stream creation
2818 - BUILD: tree-wide: Avoid warnings about undefined entities retrieved from a CS
2819 - BUG/MINOR: proxy: preset the error message pointer to NULL in parse_new_proxy()
2820 - BUG/MEDIUM: quic: fix received ACK stream calculation
2821 - BUILD: stream: fix build warning with older compilers
2822 - BUG/MINOR: debug: fix get_tainted() to properly read an atomic value
2823 - DEBUG: move the tainted stuff to bug.h for easier inclusion
2824 - DEBUG: cleanup back trace generation
2825 - DEBUG: cleanup BUG_ON() configuration
2826 - DEBUG: mark ABORT_NOW() as unreachable
2827 - DBEUG: add a new WARN_ON() macro
2828 - DEBUG: make the _BUG_ON() macro return the condition
2829 - DEBUG: add a new WARN_ON_ONCE() macro
2830 - DEBUG: report BUG_ON() and WARN_ON() in the tainted flags
2831 - MINOR: quic: adjust buffer handling for STREAM transmission
2832 - MINOR: quic: liberate the TX stream buffer after ACK processing
2833 - MINOR: quic: add a TODO for a memleak frame on ACK consume
2834
2835 2022/02/01 : 2.6-dev1
2836 - BUG/MINOR: cache: Fix loop on cache entries in "show cache"
2837 - BUG/MINOR: httpclient: allow to replace the host header
2838 - BUG/MINOR: lua: don't expose internal proxies
2839 - MEDIUM: mworker: seamless reload use the internal sockpairs
2840 - BUG/MINOR: lua: remove loop initial declarations
2841 - BUG/MINOR: mworker: does not add the -sf in wait mode
2842 - BUG/MEDIUM: mworker: FD leak of the eventpoll in wait mode
2843 - MINOR: quic: do not reject PADDING followed by other frames
2844 - REORG: quic: add comment on rare thread concurrence during CID alloc
2845 - CLEANUP: quic: add comments on CID code
2846 - MEDIUM: quic: handle CIDs to rattach received packets to connection
2847 - MINOR: qpack: support litteral field line with non-huff name
2848 - MINOR: quic: activate QUIC traces at compilation
2849 - MINOR: quic: use more verbose QUIC traces set at compile-time
2850 - MEDIUM: pool: refactor malloc_trim/glibc and jemalloc api addition detections.
2851 - MEDIUM: pool: support purging jemalloc arenas in trim_all_pools()
2852 - BUG/MINOR: mworker: deinit of thread poller was called when not initialized
2853 - BUILD: pools: only detect link-time jemalloc on ELF platforms
2854 - CI: github actions: add the output of $CC -dM -E-
2855 - BUG/MEDIUM: cli: Properly set stream analyzers to process one command at a time
2856 - BUILD: evports: remove a leftover from the dead_fd cleanup
2857 - MINOR: quic: Set "no_application_protocol" alert
2858 - MINOR: quic: More accurate immediately close.
2859 - MINOR: quic: Immediately close if no transport parameters extension found
2860 - MINOR: quic: Rename qc_prep_hdshk_pkts() to qc_prep_pkts()
2861 - MINOR: quic: Possible crash when inspecting the xprt context
2862 - MINOR: quic: Dynamically allocate the secrete keys
2863 - MINOR: quic: Add a function to derive the key update secrets
2864 - MINOR: quic: Add structures to maintain key phase information
2865 - MINOR: quic: Optional header protection key for quic_tls_derive_keys()
2866 - MINOR: quic: Add quic_tls_key_update() function for Key Update
2867 - MINOR: quic: Enable the Key Update process
2868 - MINOR: quic: Delete the ODCIDs asap
2869 - BUG/MINOR: vars: Fix the set-var and unset-var converters
2870 - MEDIUM: pool: Following up on previous pool trimming update.
2871 - BUG/MEDIUM: mux-h1: Fix splicing by properly detecting end of message
2872 - BUG/MINOR: mux-h1: Fix splicing for messages with unknown length
2873 - MINOR: mux-h1: Improve H1 traces by adding info about http parsers
2874 - MINOR: mux-h1: register a stats module
2875 - MINOR: mux-h1: add counters instance to h1c
2876 - MINOR: mux-h1: count open connections/streams on stats
2877 - MINOR: mux-h1: add stat for total count of connections/streams
2878 - MINOR: mux-h1: add stat for total amount of bytes received and sent
2879 - REGTESTS: h1: Add a script to validate H1 splicing support
2880 - BUG/MINOR: server: Don't rely on last default-server to init server SSL context
2881 - BUG/MEDIUM: resolvers: Detach query item on response error
2882 - MEDIUM: resolvers: No longer store query items in a list into the response
2883 - BUG/MAJOR: segfault using multiple log forward sections.
2884 - BUG/MEDIUM: h1: Properly reset h1m flags when headers parsing is restarted
2885 - BUG/MINOR: resolvers: Don't overwrite the error for invalid query domain name
2886 - BUILD: bug: Fix error when compiling with -DDEBUG_STRICT_NOCRASH
2887 - BUG/MEDIUM: sample: Fix memory leak in sample_conv_jwt_member_query
2888 - DOC: spoe: Clarify use of the event directive in spoe-message section
2889 - DOC: config: Specify %Ta is only available in HTTP mode
2890 - BUILD: tree-wide: avoid warnings caused by redundant checks of obj_types
2891 - IMPORT: slz: use the correct CRC32 instruction when running in 32-bit mode
2892 - MINOR: quic: fix segfault on CONNECTION_CLOSE parsing
2893 - MINOR: h3: add BUG_ON on control receive function
2894 - MEDIUM: xprt-quic: finalize app layer initialization after ALPN nego
2895 - MINOR: h3: remove duplicated FIN flag position
2896 - MAJOR: mux-quic: implement a simplified mux version
2897 - MEDIUM: mux-quic: implement release mux operation
2898 - MEDIUM: quic: detect the stream FIN
2899 - MINOR: mux-quic: implement subscribe on stream
2900 - MEDIUM: mux-quic: subscribe on xprt if remaining data after send
2901 - MEDIUM: mux-quic: wake up xprt on data transferred
2902 - MEDIUM: mux-quic: handle when sending buffer is full
2903 - MINOR: quic: RX buffer full due to wrong CRYPTO data handling
2904 - MINOR: quic: Race issue when consuming RX packets buffer
2905 - MINOR: quic: QUIC encryption level RX packets race issue
2906 - MINOR: quic: Delete remaining RX handshake packets
2907 - MINOR: quic: Remove QUIC TX packet length evaluation function
2908 - MINOR: hq-interop: fix tx buffering
2909 - MINOR: mux-quic: remove uneeded code to check fin on TX
2910 - MINOR: quic: add HTX EOM on request end
2911 - BUILD: mux-quic: fix compilation with DEBUG_MEM_STATS
2912 - MINOR: http-rules: Add capture action to http-after-response ruleset
2913 - BUG/MINOR: cli/server: Don't crash when a server is added with a custom id
2914 - MINOR: mux-quic: do not release qcs if there is remaining data to send
2915 - MINOR: quic: notify the mux on CONNECTION_CLOSE
2916 - BUG/MINOR: mux-quic: properly initialize flow control
2917 - MINOR: quic: Compilation fix for quic_rx_packet_refinc()
2918 - MINOR: h3: fix possible invalid dereference on htx parsing
2919 - DOC: config: retry-on list is space-delimited
2920 - DOC: config: fix error-log-format example
2921 - BUG/MEDIUM: mworker/cli: crash when trying to access an old PID in prompt mode
2922 - MINOR: hq-interop: refix tx buffering
2923 - REGTESTS: ssl: use X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY for cert check
2924 - MINOR: cli: "show version" displays the current process version
2925 - CLEANUP: cfgparse: modify preprocessor guards around numa detection code
2926 - MEDIUM: cfgparse: numa detect topology on FreeBSD.
2927 - BUILD: ssl: unbreak the build with newer libressl
2928 - MINOR: vars: Move UPDATEONLY flag test to vars_set_ifexist
2929 - MINOR: vars: Set variable type to ANY upon creation
2930 - MINOR: vars: Delay variable content freeing in var_set function
2931 - MINOR: vars: Parse optional conditions passed to the set-var converter
2932 - MINOR: vars: Parse optional conditions passed to the set-var actions
2933 - MEDIUM: vars: Enable optional conditions to set-var converter and actions
2934 - DOC: vars: Add documentation about the set-var conditions
2935 - REGTESTS: vars: Add new test for conditional set-var
2936 - MINOR: quic: Attach timer task to thread for the connection.
2937 - CLEANUP: quic_frame: Remove a useless suffix to STOP_SENDING
2938 - MINOR: quic: Add traces for STOP_SENDING frame and modify others
2939 - CLEANUP: quic: Remove cdata_len from quic_tx_packet struct
2940 - MINOR: quic: Enable TLS 0-RTT if needed
2941 - MINOR: quic: No TX secret at EARLY_DATA encryption level
2942 - MINOR: quic: Add quic_set_app_ops() function
2943 - MINOR: ssl_sock: Set the QUIC application from ssl_sock_advertise_alpn_protos.
2944 - MINOR: quic: Make xprt support 0-RTT.
2945 - MINOR: qpack: Missing check for truncated QPACK fields
2946 - CLEANUP: quic: Comment fix for qc_strm_cpy()
2947 - MINOR: hq_interop: Stop BUG_ON() truncated streams
2948 - MINOR: quic: Do not mix packet number space and connection flags
2949 - CLEANUP: quic: Shorten a litte bit the traces in lstnr_rcv_pkt()
2950 - MINOR: mux-quic: fix trace on stream creation
2951 - CLEANUP: quic: fix spelling mistake in a trace
2952 - CLEANUP: quic: rename quic_conn conn to qc in quic_conn_free
2953 - MINOR: quic: add missing lock on cid tree
2954 - MINOR: quic: rename constant for haproxy CIDs length
2955 - MINOR: quic: refactor concat DCID with address for Initial packets
2956 - MINOR: quic: compare coalesced packets by DCID
2957 - MINOR: quic: refactor DCID lookup
2958 - MINOR: quic: simplify the removal from ODCID tree
2959 - REGTESTS: vars: Remove useless ssl tunes from conditional set-var test
2960 - MINOR: ssl: Remove empty lines from "show ssl ocsp-response" output
2961 - MINOR: quic: Increase the RX buffer for each connection
2962 - MINOR: quic: Add a function to list remaining RX packets by encryption level
2963 - MINOR: quic: Stop emptying the RX buffer asap.
2964 - MINOR: quic: Do not expect to receive only one O-RTT packet
2965 - MINOR: quic: Do not forget STREAM frames received in disorder
2966 - MINOR: quic: Wrong packet refcount handling in qc_pkt_insert()
2967 - DOC: fix misspelled keyword "resolve_retries" in resolvers
2968 - CLEANUP: quic: rename quic_conn instances to qc
2969 - REORG: quic: move mux function outside of xprt
2970 - MINOR: quic: add reference to quic_conn in ssl context
2971 - MINOR: quic: add const qualifier for traces function
2972 - MINOR: trace: add quic_conn argument definition
2973 - MINOR: quic: use quic_conn as argument to traces
2974 - MINOR: quic: add quic_conn instance in traces for qc_new_conn
2975 - MINOR: quic: Add stream IDs to qcs_push_frame() traces
2976 - MINOR: quic: unchecked qc_retrieve_conn_from_cid() returned value
2977 - MINOR: quic: Wrong dropped packet skipping
2978 - MINOR: quic: Handle the cases of overlapping STREAM frames
2979 - MINOR: quic: xprt traces fixes
2980 - MINOR: quic: Drop asap Retry or Version Negotiation packets
2981 - MINOR: pools: work around possibly slow malloc_trim() during gc
2982 - DEBUG: ssl: make sure we never change a servername on established connections
2983 - MINOR: quic: Add traces for RX frames (flow control related)
2984 - MINOR: quic: Add CONNECTION_CLOSE phrase to trace
2985 - REORG: quic: remove qc_ prefix on functions which not used it directly
2986 - BUG/MINOR: quic: upgrade rdlock to wrlock for ODCID removal
2987 - MINOR: quic: remove unnecessary call to free_quic_conn_cids()
2988 - MINOR: quic: store ssl_sock_ctx reference into quic_conn
2989 - MINOR: quic: remove unnecessary if in qc_pkt_may_rm_hp()
2990 - MINOR: quic: replace usage of ssl_sock_ctx by quic_conn
2991 - MINOR: quic: delete timer task on quic_close()
2992 - MEDIUM: quic: implement refcount for quic_conn
2993 - BUG/MINOR: quic: fix potential null dereference
2994 - BUG/MINOR: quic: fix potential use of uninit pointer
2995 - BUG/MEDIUM: backend: fix possible sockaddr leak on redispatch
2996 - BUG/MEDIUM: peers: properly skip conn_cur from incoming messages
2997 - CI: Github Actions: do not show VTest failures if build failed
2998 - BUILD: opentracing: display warning in case of using OT_USE_VARS at compile time
2999 - MINOR: compat: detect support for dl_iterate_phdr()
3000 - MINOR: debug: add ability to dump loaded shared libraries
3001 - MINOR: debug: add support for -dL to dump library names at boot
3002 - BUG/MEDIUM: ssl: initialize correctly ssl w/ default-server
3003 - REGTESTS: ssl: fix ssl_default_server.vtc
3004 - BUG/MINOR: ssl: free the fields in srv->ssl_ctx
3005 - BUG/MEDIUM: ssl: free the ckch instance linked to a server
3006 - REGTESTS: ssl: update of a crt with server deletion
3007 - BUILD/MINOR: cpuset FreeBSD 14 build fix.
3008 - MINOR: pools: always evict oldest objects first in pool_evict_from_local_cache()
3009 - DOC: pool: document the purpose of various structures in the code
3010 - CLEANUP: pools: do not use the extra pointer to link shared elements
3011 - CLEANUP: pools: get rid of the POOL_LINK macro
3012 - MINOR: pool: allocate from the shared cache through the local caches
3013 - CLEANUP: pools: group list updates in pool_get_from_cache()
3014 - MINOR: pool: rely on pool_free_nocache() in pool_put_to_shared_cache()
3015 - MINOR: pool: make pool_is_crowded() always true when no shared pools are used
3016 - MINOR: pool: check for pool's fullness outside of pool_put_to_shared_cache()
3017 - MINOR: pool: introduce pool_item to represent shared pool items
3018 - MINOR: pool: add a function to estimate how many may be released at once
3019 - MEDIUM: pool: compute the number of evictable entries once per pool
3020 - MINOR: pools: prepare pool_item to support chained clusters
3021 - MINOR: pools: pass the objects count to pool_put_to_shared_cache()
3022 - MEDIUM: pools: centralize cache eviction in a common function
3023 - MEDIUM: pools: start to batch eviction from local caches
3024 - MEDIUM: pools: release cached objects in batches
3025 - OPTIM: pools: reduce local pool cache size to 512kB
3026 - CLEANUP: assorted typo fixes in the code and comments This is 29th iteration of typo fixes
3027 - CI: github actions: update OpenSSL to 3.0.1
3028 - BUILD/MINOR: tools: solaris build fix on dladdr.
3029 - BUG/MINOR: cli: fix _getsocks with musl libc
3030 - BUG/MEDIUM: http-ana: Preserve response's FLT_END analyser on L7 retry
3031 - MINOR: quic: Wrong traces after rework
3032 - MINOR: quic: Add trace about in flight bytes by packet number space
3033 - MINOR: quic: Wrong first packet number space computation
3034 - MINOR: quic: Wrong packet number space computation for PTO
3035 - MINOR: quic: Wrong loss time computation in qc_packet_loss_lookup()
3036 - MINOR: quic: Wrong ack_delay compution before calling quic_loss_srtt_update()
3037 - MINOR: quic: Remove nb_pto_dgrams quic_conn struct member
3038 - MINOR: quic: Wrong packet number space trace in qc_prep_pkts()
3039 - MINOR: quic: Useless test in qc_prep_pkts()
3040 - MINOR: quic: qc_prep_pkts() code moving
3041 - MINOR: quic: Speeding up Handshake Completion
3042 - MINOR: quic: Probe Initial packet number space more often
3043 - MINOR: quic: Probe several packet number space upon timer expiration
3044 - MINOR: quic: Comment fix.
3045 - MINOR: quic: Improve qc_prep_pkts() flexibility
3046 - MINOR: quic: Do not drop secret key but drop the CRYPTO data
3047 - MINOR: quic: Prepare Handshake packets asap after completed handshake
3048 - MINOR: quic: Flag asap the connection having reached the anti-amplification limit
3049 - MINOR: quic: PTO timer too often reset
3050 - MINOR: quic: Re-arm the PTO timer upon datagram receipt
3051 - MINOR: proxy: add option idle-close-on-response
3052 - MINOR: cpuset: switch to sched_setaffinity for FreeBSD 14 and above.
3053 - CI: refactor spelling check
3054 - CLEANUP: assorted typo fixes in the code and comments
3055 - BUILD: makefile: add -Wno-atomic-alignment to work around clang abusive warning
3056 - MINOR: quic: Only one CRYPTO frame by encryption level
3057 - MINOR: quic: Missing retransmission from qc_prep_fast_retrans()
3058 - MINOR: quic: Non-optimal use of a TX buffer
3059 - BUG/MEDIUM: mworker: don't use _getsocks in wait mode
3060 - BUG/MINOR: ssl: Store client SNI in SSL context in case of ClientHello error
3061 - BUG/MAJOR: mux-h1: Don't decrement .curr_len for unsent data
3062 - DOC: internals: document the pools architecture and API
3063 - CI: github actions: clean default step conditions
3064 - BUILD: cpuset: fix build issue on macos introduced by previous change
3065 - MINOR: quic: Remaining TRACEs with connection as firt arg
3066 - MINOR: quic: Reset ->conn quic_conn struct member when calling qc_release()
3067 - MINOR: quic: Flag the connection as being attached to a listener
3068 - MINOR: quic: Wrong CRYPTO frame concatenation
3069 - MINOR: quid: Add traces quic_close() and quic_conn_io_cb()
3070 - REGTESTS: ssl: Fix ssl_errors regtest with OpenSSL 1.0.2
3071 - MINOR: quic: Do not dereference ->conn quic_conn struct member
3072 - MINOR: quic: fix return of quic_dgram_read
3073 - MINOR: quic: add config parse source file
3074 - MINOR: quic: implement Retry TLS AEAD tag generation
3075 - MEDIUM: quic: implement Initial token parsing
3076 - MINOR: quic: define retry_source_connection_id TP
3077 - MEDIUM: quic: implement Retry emission
3078 - MINOR: quic: free xprt tasklet on its thread
3079 - BUG/MEDIUM: connection: properly leave stopping list on error
3080 - MINOR: pools: enable pools with DEBUG_FAIL_ALLOC as well
3081 - MINOR: quic: As server, skip 0-RTT packet number space
3082 - MINOR: quic: Do not wakeup the I/O handler before the mux is started
3083 - BUG/MEDIUM: htx: Adjust length to add DATA block in an empty HTX buffer
3084 - CI: github actions: use cache for OpenTracing
3085 - BUG/MINOR: httpclient: don't send an empty body
3086 - BUG/MINOR: httpclient: set default Accept and User-Agent headers
3087 - BUG/MINOR: httpclient/lua: don't pop the lua stack when getting headers
3088 - BUILD/MINOR: fix solaris build with clang.
3089 - BUG/MEDIUM: server: avoid changing healthcheck ctx with set server ssl
3090 - CI: refactor OpenTracing build script
3091 - DOC: management: mark "set server ssl" as deprecated
3092 - MEDIUM: cli: yield between each pipelined command
3093 - MINOR: channel: add new function co_getdelim() to support multiple delimiters
3094 - BUG/MINOR: cli: avoid O(bufsize) parsing cost on pipelined commands
3095 - MEDIUM: h2/hpack: emit a Dynamic Table Size Update after settings change
3096 - MINOR: quic: Retransmit the TX frames in the same order
3097 - MINOR: quic: Remove the packet number space TX MT_LIST
3098 - MINOR: quic: Splice the frames which could not be added to packets
3099 - MINOR: quic: Add the number of TX bytes to traces
3100 - CLEANUP: quic: Replace <nb_pto_dgrams> by <probe>
3101 - MINOR: quic: Send two ack-eliciting packets when probing packet number spaces
3102 - MINOR: quic: Probe regardless of the congestion control
3103 - MINOR: quic: Speeding up handshake completion
3104 - MINOR: quic: Release RX Initial packets asap
3105 - MINOR: quic: Release asap TX frames to be transmitted
3106 - MINOR: quic: Probe even if coalescing
3107 - BUG/MEDIUM: cli: Never wait for more data on client shutdown
3108 - BUG/MEDIUM: mcli: do not try to parse empty buffers
3109 - BUG/MEDIUM: mcli: always realign wrapping buffers before parsing them
3110 - BUG/MINOR: stream: make the call_rate only count the no-progress calls
3111 - MINOR: quic: do not use quic_conn after dropping it
3112 - MINOR: quic: adjust quic_conn refcount decrement
3113 - MINOR: quic: fix race-condition on xprt tasklet free
3114 - MINOR: quic: free SSL context on quic_conn free
3115 - MINOR: quic: Add QUIC_FT_RETIRE_CONNECTION_ID parsing case
3116 - MINOR: quic: Wrong packet number space selection
3117 - DEBUG: pools: add new build option DEBUG_POOL_INTEGRITY
3118 - MINOR: quic: add missing include in quic_sock
3119 - MINOR: quic: fix indentation in qc_send_ppkts
3120 - MINOR: quic: remove dereferencement of connection when possible
3121 - MINOR: quic: set listener accept cb on parsing
3122 - MEDIUM: quic/ssl: add new ex data for quic_conn
3123 - MINOR: quic: initialize ssl_sock_ctx alongside the quic_conn
3124 - MINOR: ssl: fix build in release mode
3125 - MINOR: pools: partially uninline pool_free()
3126 - MINOR: pools: partially uninline pool_alloc()
3127 - MINOR: pools: prepare POOL_EXTRA to be split into multiple extra fields
3128 - MINOR: pools: extend pool_cache API to pass a pointer to a caller
3129 - DEBUG: pools: add new build option DEBUG_POOL_TRACING
3130 - DEBUG: cli: add a new "debug dev fd" expert command
3131 - MINOR: fd: register the write side of the poller pipe as well
3132 - CI: github actions: use cache for SSL libs
3133 - BUILD: debug/cli: condition test of O_ASYNC to its existence
3134 - BUILD: pools: fix build error on DEBUG_POOL_TRACING
3135 - MINOR: quic: refactor header protection removal
3136 - MINOR: quic: handle app data according to mux/connection layer status
3137 - MINOR: quic: refactor app-ops initialization
3138 - MINOR: receiver: define a flag for local accept
3139 - MEDIUM: quic: flag listener for local accept
3140 - MINOR: quic: do not manage connection in xprt snd_buf
3141 - MINOR: quic: remove wait handshake/L6 flags on init connection
3142 - MINOR: listener: add flags field
3143 - MINOR: quic: define QUIC flag on listener
3144 - MINOR: quic: create accept queue for QUIC connections
3145 - MINOR: listener: define per-thr struct
3146 - MAJOR: quic: implement accept queue
3147 - CLEANUP: mworker: simplify mworker_free_child()
3148 - BUILD/DEBUG: lru: update the standalone code to support the revision
3149 - DEBUG: lru: use a xorshift generator in the testing code
3150 - BUG/MAJOR: compiler: relax alignment constraints on certain structures
3151 - BUG/MEDIUM: fd: always align fdtab[] to 64 bytes
3152 - MINOR: quic: No DCID length for datagram context
3153 - MINOR: quic: Comment fix about the token found in Initial packets
3154 - MINOR: quic: Get rid of a struct buffer in quic_lstnr_dgram_read()
3155 - MINOR: quic: Remove the QUIC haproxy server packet parser
3156 - MINOR: quic: Add new defintion about DCIDs offsets
3157 - MINOR: quic: Add a list to QUIC sock I/O handler RX buffer
3158 - MINOR: quic: Allocate QUIC datagrams from sock I/O handler
3159 - MINOR: proto_quic: Allocate datagram handlers
3160 - MINOR: quic: Pass CID as a buffer to quic_get_cid_tid()
3161 - MINOR: quic: Convert quic_dgram_read() into a task
3162 - CLEANUP: quic: Remove useless definition
3163 - MINOR: proto_quic: Wrong allocations for TX rings and RX bufs
3164 - MINOR: quic: Do not consume the RX buffer on QUIC sock i/o handler side
3165 - MINOR: quic: Do not reset a full RX buffer
3166 - MINOR: quic: Attach all the CIDs to the same connection
3167 - MINOR: quic: Make usage of by datagram handler trees
3168 - MEDIUM: da: new optional data file download scheduler service.
3169 - MEDIUM: da: update doc and build for new scheduler mode service.
3170 - MEDIUM: da: update module to handle schedule mode.
3171 - MINOR: quic: Drop Initial packets with wrong ODCID
3172 - MINOR: quic: Wrong RX buffer tail handling when no more contiguous data
3173 - MINOR: quic: Iterate over all received datagrams
3174 - MINOR: quic: refactor quic CID association with threads
3175 - BUG/MEDIUM: resolvers: Really ignore trailing dot in domain names
3176 - DEV: flags: Add missing flags
3177 - BUG/MINOR: sink: Use the right field in appctx context in release callback
3178 - MINOR: sock: move the unused socket cleaning code into its own function
3179 - BUG/MEDIUM: mworker: close unused transferred FDs on load failure
3180 - BUILD: atomic: make the old HA_ATOMIC_LOAD() support const pointers
3181 - BUILD: cpuset: do not use const on the source of CPU_AND/CPU_ASSIGN
3182 - BUILD: checks: fix inlining issue on set_srv_agent_[addr,port}
3183 - BUILD: vars: avoid overlapping field initialization
3184 - BUILD: server-state: avoid using not-so-portable isblank()
3185 - BUILD: mux_fcgi: avoid aliasing of a const struct in traces
3186 - BUILD: tree-wide: mark a few numeric constants as explicitly long long
3187 - BUILD: tools: fix warning about incorrect cast with dladdr1()
3188 - BUILD: task: use list_to_mt_list() instead of casting list to mt_list
3189 - BUILD: mworker: include tools.h for platforms without unsetenv()
3190 - BUG/MINOR: mworker: fix a FD leak of a sockpair upon a failed reload
3191 - MINOR: mworker: set the master side of ipc_fd in the worker to -1
3192 - MINOR: mworker: allocate and initialize a mworker_proc
3193 - CI: Consistently use actions/checkout@v2
3194 - REGTESTS: Remove REQUIRE_VERSION=1.8 from all tests
3195 - MINOR: mworker: sets used or closed worker FDs to -1
3196 - MINOR: quic: Try to accept 0-RTT connections
3197 - MINOR: quic: Do not try to treat 0-RTT packets without started mux
3198 - MINOR: quic: Do not try to accept a connection more than one time
3199 - MINOR: quic: Initialize the connection timer asap
3200 - MINOR: quic: Do not use connection struct xprt_ctx too soon
3201 - Revert "MINOR: mworker: sets used or closed worker FDs to -1"
3202 - BUILD: makefile: avoid testing all -Wno-* options when not needed
3203 - BUILD: makefile: validate support for extra warnings by batches
3204 - BUILD: makefile: only compute alternative options if required
3205 - DEBUG: fd: make sure we never try to insert/delete an impossible FD number
3206 - MINOR: mux-quic: add comment
3207 - MINOR: mux-quic: properly initialize qcc flags
3208 - MINOR: mux-quic: do not consider CONNECTION_CLOSE for the moment
3209 - MINOR: mux-quic: create a timeout task
3210 - MEDIUM: mux-quic: delay the closing with the timeout
3211 - MINOR: mux-quic: release idle conns on process stopping
3212 - MINOR: listener: replace the listener's spinlock with an rwlock
3213 - BUG/MEDIUM: listener: read-lock the listener during accept()
3214 - MINOR: mworker/cli: set expert/experimental mode from the CLI
3215
3216 2021/11/23 : 2.6-dev0
3217 - MINOR: version: it's development again
3218
3219 2021/11/23 : 2.5.0
3220 - BUILD: SSL: add quictls build to scripts/build-ssl.sh
3221 - BUILD: SSL: add QUICTLS to build matrix
3222 - CLEANUP: sock: Wrap `accept4_broken = 1` into additional parenthesis
3223 - BUILD: cli: clear a maybe-unused warning on some older compilers
3224 - BUG/MEDIUM: cli: make sure we can report a warning from a bind keyword
3225 - BUG/MINOR: ssl: make SSL counters atomic
3226 - CLEANUP: assorted typo fixes in the code and comments
3227 - BUG/MINOR: ssl: free correctly the sni in the backend SSL cache
3228 - MINOR: version: mention that it's stable now
3229
3230 2021/11/19 : 2.5-dev15
3231 - BUG/MINOR: stick-table/cli: Check for invalid ipv6 key
3232 - CLEANUP: peers: Remove useless test on peer variable in peer_trace()
3233 - DOC: log: Add comments to specify when session's listener is defined or not
3234 - BUG/MEDIUM: mux-h1: Handle delayed silent shut in h1_process() to release H1C
3235 - REGTESTS: ssl_crt-list_filters: feature cmd incorrectly set
3236 - DOC: internals: document the list API
3237 - BUG/MINOR: h3: ignore unknown frame types
3238 - MINOR: quic: redirect app_ops snd_buf through mux
3239 - MEDIUM: quic: inspect ALPN to install app_ops
3240 - MINOR: quic: support hq-interop
3241 - MEDIUM: quic: send version negotiation packet on unknown version
3242 - BUG/MEDIUM: mworker: cleanup the listeners when reexecuting
3243 - DOC: internals: document the scheduler API
3244 - BUG/MINOR: quic: fix version negotiation packet generation
3245 - CLEANUP: ssl: fix wrong #else commentary
3246 - MINOR: config: support default values for environment variables
3247 - SCRIPTS: run-regtests: reduce the number of processes needed to check options
3248 - SCRIPT: run-regtests: avoid several calls to grep to test for features
3249 - SCRIPT: run-regtests: avoid calling awk to compute the version
3250 - REGTEST: set retries count to zero for all tests that expect at 503
3251 - REGTESTS: make tcp-check_min-recv fail fast
3252 - REGTESTS: extend the default I/O timeouts and make them overridable
3253 - BUG/MEDIUM: ssl: backend TLS resumption with sni and TLSv1.3
3254 - BUG/MEDIUM: ssl: abort with the correct SSL error when SNI not found
3255 - REGTESTS: ssl: test the TLS resumption
3256 - BUILD: makefile: stop opening sub-shells for each and every command
3257 - BUILD: makefile: reorder objects by build time
3258 - BUG/MEDIUM: mux-h2: always process a pending shut read
3259 - MINOR: quic_sock: missing CO_FL_ADDR_TO_SET flag
3260 - MINOR: quic: Possible wrong connection identification
3261 - MINOR: quic: Correctly pad UDP datagrams
3262 - MINOR: quic: Support transport parameters draft TLS extension
3263 - MINOR: quic: Anti-amplification implementation
3264 - MINOR: quic: Wrong Initial packet connection initialization
3265 - MINOR: quic: Wrong ACK range building
3266 - MINOR: quic: Update some QUIC protocol errors
3267 - MINOR: quic: Send CONNECTION_CLOSE frame upon TLS alert
3268 - MINOR: quic: Wrong largest acked packet number parsing
3269 - MINOR: quic: Add minimalistic support for stream flow control frames
3270 - MINOR: quic: Wrong value for version negotiation packet 'Unused' field
3271 - MINOR: quic: Support draft-29 QUIC version
3272 - BUG/MINOR: quic: fix segfault on trace for version negotiation
3273 - BUG/MINOR: hq-interop: fix potential NULL dereference
3274 - BUILD: quic: fix potential NULL dereference on xprt_quic
3275 - DOC: lua: documentation about the httpclient API
3276 - BUG/MEDIUM: cache/cli: make "show cache" thread-safe
3277 - BUG/MEDIUM: shctx: leave the block allocator when enough blocks are found
3278 - BUG/MINOR: shctx: do not look for available blocks when the first one is enough
3279 - MINOR: shctx: add a few BUG_ON() for consistency checks
3280
3281 2021/11/14 : 2.5-dev14
3282 - DEV: coccinelle: Remove unused `expression e`
3283 - DEV: coccinelle: Add rule to use `istend()` where possible
3284 - CLEANUP: Apply ist.cocci
3285 - CLEANUP: Re-apply xalloc_size.cocci
3286 - CLEANUP: halog: make the default usage message fit in small screens
3287 - MINOR: h3/qpack: fix gcc11 warnings
3288 - MINOR: mux-quic: fix gcc11 warning
3289 - MINOR: h3: fix potential NULL dereference
3290 - MINOR: quic: Fix potential null pointer dereference
3291 - CLEANUP: halog: remove unused strl2ui()
3292 - OPTIM: halog: improve field parser speed for modern compilers
3293 - OPTIM: halog: skip fields 64 bits at a time when supported
3294 - DEV: coccinelle: Add rule to use `isttrim()` where possible
3295 - CLEANUP: Apply ist.cocci
3296 - DEV: coccinelle: Add rule to use `chunk_istcat()` instead of `chunk_memcat()`
3297 - DEV: coccinelle: Add rule to use `chunk_istcat()` instead of `chunk_strncat()`
3298 - CLEANUP: Apply ist.cocci
3299 - CLEANUP: chunk: Remove duplicated chunk_Xcat implementation
3300 - CLEANUP: chunk: remove misleading chunk_strncat() function
3301 - BUG/MINOR: cache: properly ignore unparsable max-age in quotes
3302 - Revert "DEV: coccinelle: Add rule to use `chunk_istcat()` instead of `chunk_strncat()`"
3303 - DOC: stats: fix location of the text representation
3304 - DOC: internals: document the IST API
3305 - BUG/MINOR: httpclient/lua: rcv freeze when no request payload
3306 - BUG/MEDIUM: httpclient: channel_add_input() must use htx->data
3307 - MINOR: promex: backend aggregated server check status
3308 - DOC: config: Fix typo in ssl_fc_unique_id description
3309 - BUG/MINOR: http-ana: Apply stop to the current section for http-response rules
3310 - Revert "BUG/MINOR: http-ana: Don't eval front after-response rules if stopped on back"
3311 - DOC: config: Be more explicit in "allow" actions description
3312 - DOC: lua: Be explicit with the Reply object limits
3313 - MINOR: mux-h1: Slightly Improve H1 traces
3314 - BUG/MEDIUM: conn-stream: Don't reset CS flags on close
3315 - CLEANUP: mworker: remove any relative PID reference
3316 - MEDIUM: mworker: reexec in waitpid mode after successful loading
3317 - MINOR: mworker: clarify starting/failure messages
3318 - MINOR: mworker: only increment the number of reload in wait mode
3319 - MINOR: mworker: implement a reload failure counter
3320 - MINOR: mworker: ReloadFailed shown depending on failedreload
3321 - MINOR: mworker: change the way we set PROC_O_LEAVING
3322 - BUG/MINOR: mworker: doesn't launch the program postparser
3323 - DOC: management: edit the "show proc" example to show the current output
3324 - BUG/MEDIUM: httpclient/cli: free of unallocated hc->req.uri
3325 - REGTESTS: httpclient/lua: add greater body values
3326 - BUG/MINOR: mux-h2: Fix H2_CF_DEM_SHORT_READ value
3327 - BUG/MINOR: pools: don't mark ourselves as harmless in DEBUG_UAF mode
3328 - BUG/MEDIUM: connection: make cs_shutr/cs_shutw//cs_close() idempotent
3329 - BUILD: makefile: simplify detection of libatomic
3330
3331 2021/11/06 : 2.5-dev13
3332 - SCRIPTS: git-show-backports: re-enable file-based filtering
3333 - MINOR: jwt: Make invalid static JWT algorithms an error in `jwt_verify` converter
3334 - MINOR: mux-h2: add trace on extended connect usage
3335 - BUG/MEDIUM: mux-h2: reject upgrade if no RFC8441 support
3336 - MINOR: stream/mux: implement websocket stream flag
3337 - MINOR: connection: implement function to update ALPN
3338 - MINOR: connection: add alternative mux_ops param for conn_install_mux_be
3339 - MEDIUM: server/backend: implement websocket protocol selection
3340 - MINOR: server: add ws keyword
3341 - BUG/MINOR: resolvers: fix sent messages were counted twice
3342 - BUG/MINOR: resolvers: throw log message if trash not large enough for query
3343 - MINOR: resolvers/dns: split dns and resolver counters in dns_counter struct
3344 - MEDIUM: resolvers: rename dns extra counters to resolvers extra counters
3345 - BUG/MINOR: jwt: Fix jwt_parse_alg incorrectly returning JWS_ALG_NONE
3346 - DOC: add QUIC instruction in INSTALL
3347 - CLEANUP: halog: Remove dead stores
3348 - DEV: coccinelle: Add ha_free.cocci
3349 - CLEANUP: Apply ha_free.cocci
3350 - DEV: coccinelle: Add rule to use `istnext()` where possible
3351 - CLEANUP: Apply ist.cocci
3352 - REGTESTS: Use `feature cmd` for 2.5+ tests (2)
3353 - DOC: internals: move some API definitions to an "api" subdirectory
3354 - MINOR: quic: Allocate listener RX buffers
3355 - CLEANUP: quic: Remove useless code
3356 - MINOR: quic: Enhance the listener RX buffering part
3357 - MINOR: quic: Remove a useless lock for CRYPTO frames
3358 - MINOR: quic: Use QUIC_LOCK QUIC specific lock label.
3359 - MINOR: backend: Get client dst address to set the server's one only if needful
3360 - MINOR: compression: Warn for 'compression offload' in defaults sections
3361 - MEDIUM: connection: rename fc_conn_err and bc_conn_err to fc_err and bc_err
3362 - DOC: configuration: move the default log formats to their own section
3363 - MINOR: ssl: make the ssl_fc_sni() sample-fetch function always available
3364 - MEDIUM: log: add the client's SNI to the default HTTPS log format
3365 - DOC: config: add an example of reasonably complete error-log-format
3366 - DOC: config: move error-log-format before custom log format
3367
3368 2021/11/02 : 2.5-dev12
3369 - MINOR: httpclient: support payload within a buffer
3370 - MINOR: httpclient/lua: support more HTTP methods
3371 - MINOR: httpclient/lua: return an error when it can't generate the request
3372 - CLEANUP: lua: Remove any ambiguities about lua txn execution context flags
3373 - BUG/MEDIUM: lua: fix invalid return types in hlua_http_msg_get_body
3374 - CLEANUP: connection: No longer export make_proxy_line_v1/v2 functions
3375 - CLEANUP: tools: Use const address for get_net_port() and get_host_port()
3376 - CLEANUP: lua: Use a const address to retrieve info about a connection
3377 - MINOR: connection: Add function to get src/dst without updating the connection
3378 - MINOR: session: Add src and dst addresses to the session
3379 - MINOR: stream-int: Add src and dst addresses to the stream-interface
3380 - MINOR: frontend: Rely on client src and dst addresses at stream level
3381 - MINOR: log: Rely on client addresses at the appropriate level to log messages
3382 - MINOR: session: Rely on client source address at session level to log error
3383 - MINOR: http-ana: Rely on addresses at stream level to set xff and xot headers
3384 - MINOR: http-fetch: Rely on addresses at stream level in HTTP sample fetches
3385 - MINOR: mux-fcgi: Rely on client addresses at stream level to set default params
3386 - MEDIUM: tcp-sample: Rely on addresses at the appropriate level in tcp samples
3387 - MEDIUM: connection: Rely on addresses at stream level to make proxy line
3388 - MEDIUM: backend: Rely on addresses at stream level to init server connection
3389 - MEDIUM: connection: Assign session addresses when PROXY line is received
3390 - MEDIUM: connection: Assign session addresses when NetScaler CIP proto is parsed
3391 - MEDIUM: tcp-act: Set addresses at the apprioriate level in set-(src/dst) actions
3392 - MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules
3393 - DOC: config: Fix alphabetical order of fc_* samples
3394 - MINOR: tcp-sample: Add samples to get original info about client connection
3395 - REGTESTS: Add script to test client src/dst manipulation at different levels
3396 - MINOR: stream: Use backend stream-interface dst address instead of target_addr
3397 - BUILD: log: Fix compilation without SSL support
3398 - DEBUG: protocol: yell loudly during registration of invalid sock_domain
3399 - MINOR: protocols: add a new protocol type selector
3400 - MINOR: protocols: make use of the protocol type to select the protocol
3401 - MINOR: protocols: replace protocol_by_family() with protocol_lookup()
3402 - MINOR: halog: Add -qry parameter allowing to preserve the query string in -uX
3403 - CLEANUP: jwt: Remove the use of a trash buffer in jwt_jwsverify_hmac()
3404 - CLEANUP: jwt: Remove the use of a trash buffer in jwt_jwsverify_rsa_ecdsa()
3405 - DEV: coccinelle: Add realloc_leak.cocci
3406 - CLEANUP: hlua: Remove obsolete branch in `hlua_alloc()`
3407 - BUILD: atomic: prefer __atomic_compare_exchange_n() for __ha_cas_dw()
3408 - BUILD: atomic: fix build on mac/arm64
3409 - MINOR: atomic: remove the memcpy() call and dependency on string.h
3410 - MINOR: httpclient: request streaming with a callback
3411 - MINOR: httpclient/lua: handle the streaming into the lua applet
3412 - REGTESTS: lua: test httpclient with body streaming
3413 - DOC: halog: Move the `-qry` parameter into the correct section in help text
3414 - MINOR: halog: Rename -qry to -query
3415 - CLEANUP: halog: Use consistent indentation in help()
3416 - BUG/MINOR: halog: Add missing newlines in die() messages
3417 - MINOR: halog: Add support for extracting captures using -hdr
3418 - DOC: Typo fixed "it" should be "is"
3419 - BUG/MINOR: mux-h1: Save shutdown mode if the shutdown is delayed
3420 - BUG/MEDIUM: mux-h1: Perform a connection shutdown when the h1c is released
3421 - BUG/MEDIUM: resolvers: Don't recursively perform requester unlink
3422 - BUG/MEDIUM: http-ana: Drain request data waiting the tarpit timeout expiration
3423 - BUG/MINOR: http: Authorization value can have multiple spaces after the scheme
3424 - BUG/MINOR: http: http_auth_bearer fetch does not work on custom header name
3425 - BUG/MINOR: httpclient/lua: misplaced luaL_buffinit()
3426 - BUILD/MINOR: cpuset freebsd build fix
3427 - BUG/MINOR: httpclient: use a placeholder value for Host header
3428 - BUG/MEDIUM: stream-int: Block reads if channel cannot receive more data
3429 - BUG/MEDIUM: resolvers: Track api calls with a counter to free resolutions
3430 - MINOR: stream: Improve dump of bogus streams
3431 - DOC/peers: some grammar fixes for peers 2.1 spec
3432 - MEDIUM: vars: make the var() sample fetch function really return type ANY
3433 - MINOR: vars: add "set-var" for "tcp-request connection" rules.
3434
3435 2021/10/22 : 2.5-dev11
3436 - DEV: coccinelle: Add strcmp.cocci
3437 - CLEANUP: Apply strcmp.cocci
3438 - CI: Add `permissions` to GitHub Actions
3439 - CI: Clean up formatting in GitHub Action definitions
3440 - MINOR: add ::1 to predefined LOCALHOST acl
3441 - CLEANUP: assorted typo fixes in the code and comments
3442 - CLEANUP: Consistently `unsigned int` for bitfields
3443 - MEDIUM: resolvers: lower-case labels when converting from/to DNS names
3444 - MEDIUM: resolvers: replace bogus resolv_hostname_cmp() with memcmp()
3445 - MINOR: jwt: Empty the certificate tree during deinit
3446 - MINOR: jwt: jwt_verify returns negative values in case of error
3447 - MINOR: jwt: Do not rely on enum order anymore
3448 - BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error
3449 - MINOR: httpclient/cli: access should be only done from expert mode
3450 - DOC: management: doc about the CLI httpclient
3451 - BUG/MEDIUM: tcpcheck: Properly catch early HTTP parsing errors
3452 - BUG/MAJOR: dns: tcp session can remain attached to a list after a free
3453 - BUG/MAJOR: dns: attempt to lock globaly for msg waiter list instead of use barrier
3454 - CLEANUP: dns: always detach the appctx from the dns session on release
3455 - DEBUG: dns: add a few more BUG_ON at sensitive places
3456 - BUG/MAJOR: resolvers: add other missing references during resolution removal
3457 - CLEANUP: resolvers: do not export resolv_purge_resolution_answer_records()
3458 - BUILD: resolvers: avoid a possible warning on null-deref
3459 - BUG/MEDIUM: resolvers: always check a valid item in query_list
3460 - CLEANUP: always initialize the answer_list
3461 - CLEANUP: resolvers: simplify resolv_link_resolution() regarding requesters
3462 - CLEANUP: resolvers: replace all LIST_DELETE with LIST_DEL_INIT
3463 - MEDIUM: resolvers: use a kill list to preserve the list consistency
3464 - MEDIUM: resolvers: remove the last occurrences of the "safe" argument
3465 - BUG/MEDIUM: checks: fix the starting thread for external checks
3466 - MEDIUM: resolvers: replace the answer_list with a (flat) tree
3467 - MEDIUM: resolvers: hash the records before inserting them into the tree
3468 - BUG/MAJOR: buf: fix varint API post- vs pre- increment
3469 - OPTIM: resolvers: move the eb32 node before the data in the answer_item
3470 - MINOR: list: add new macro LIST_INLIST_ATOMIC()
3471 - OPTIM: dns: use an atomic check for the list membership
3472 - BUG/MINOR: task: do not set TASK_F_USR1 for no reason
3473 - BUG/MINOR: mux-h2: do not prevent from sending a final GOAWAY frame
3474 - MINOR: connection: add a new CO_FL_WANT_DRAIN flag to force drain on close
3475 - MINOR: mux-h2: perform a full cycle shutdown+drain on close
3476 - CLEANUP: resolvers: get rid of single-iteration loop in resolv_get_ip_from_response()
3477 - MINOR: quic: Increase the size of handshake RX UDP datagrams
3478 - BUG/MEDIUM: lua: fix memory leaks with realloc() on non-glibc systems
3479 - MINOR: memprof: report the delta between alloc and free on realloc()
3480 - MINOR: memprof: add one pointer size to the size of allocations
3481 - BUILD: fix compilation on NetBSD
3482 - MINOR: backend: add traces for idle connections reuse
3483 - BUG/MINOR: backend: fix improper insert in avail tree for always reuse
3484 - MINOR: backend: improve perf with tcp proxies skipping idle conns
3485 - MINOR: connection: remove unneeded memset 0 for idle conns
3486
3487 2021/10/16 : 2.5-dev10
3488 - MINOR: initcall: Rename __GLOBL and __GLOBL1.
3489 - MINOR: rules: add a new function new_act_rule() to allocate act_rules
3490 - MINOR: rules: add a file name and line number to act_rules
3491 - MINOR: stream: report the current rule in "show sess all" when known
3492 - MINOR: stream: report the current filter in "show sess all" when known
3493 - CLEANUP: stream: Properly indent current_rule line in "show sess all"
3494 - BUG/MINOR: lua: Fix lua error handling in `hlua_config_prepend_path()`
3495 - CI: github: switch to OpenSSL 3.0.0
3496 - REGTESTS: ssl: Fix references to removed option in test description
3497 - MINOR: ssl: Add ssllib_name_startswith precondition
3498 - REGTESTS: ssl: Fix ssl_errors test for OpenSSL v3
3499 - REGTESTS: ssl: Reenable ssl_errors test for OpenSSL only
3500 - REGTESTS: ssl: Use mostly TLSv1.2 in ssl_errors test
3501 - MEDIUM: mux-quic: rationalize tx buffers between qcc/qcs
3502 - MEDIUM: h3: properly manage tx buffers for large data
3503 - MINOR: mux-quic: standardize h3 settings sending
3504 - CLEANUP: h3: remove dead code
3505 - MINOR: mux-quic: implement standard method to detect if qcc is dead
3506 - MEDIUM: mux-quic: defer stream shut if remaining tx data
3507 - MINOR: mux: remove last occurences of qcc ring buffer
3508 - MINOR: quic: handle CONNECTION_CLOSE frame
3509 - REGTESTS: ssl: re-enable set_ssl_cert_bundle.vtc
3510 - MINOR: ssl: add ssl_fc_is_resumed to "option httpslog"
3511 - MINOR: http: Add http_auth_bearer sample fetch
3512 - MINOR: jwt: Parse JWT alg field
3513 - MINOR: jwt: JWT tokenizing helper function
3514 - MINOR: jwt: Insert public certificates into dedicated JWT tree
3515 - MINOR: jwt: jwt_header_query and jwt_payload_query converters
3516 - MEDIUM: jwt: Add jwt_verify converter to verify JWT integrity
3517 - REGTESTS: jwt: Add tests for the jwt_verify converter
3518 - BUILD: jwt: fix declaration of EVP_KEY in jwt-h.h
3519 - MINOR: proto_tcp: use chunk_appendf() to ouput socket setup errors
3520 - MINOR: proto_tcp: also report the attempted MSS values in error message
3521 - MINOR: inet: report the faulty interface name in "bind" errors
3522 - MINOR: protocol: report the file and line number for binding/listening errors
3523 - MINOR: protocol: uniformize protocol errors
3524 - MINOR: resolvers: fix the resolv_str_to_dn_label() API about trailing zero
3525 - BUG/MEDIUM: resolver: make sure to always use the correct hostname length
3526 - BUG/MINOR: resolvers: do not reject host names of length 255 in SRV records
3527 - MINOR: resolvers: fix the resolv_dn_label_to_str() API about trailing zero
3528 - MEDIUM: listeners: split the thread mask between receiver and bind_conf
3529 - MINOR: listeners: add clone_listener() to duplicate listeners at boot time
3530 - MEDIUM: listener: add the "shards" bind keyword
3531 - BUG/MEDIUM: resolvers: use correct storage for the target address
3532 - MINOR: resolvers: merge address and target into a union "data"
3533 - BUG/MEDIUM: resolvers: fix truncated TLD consecutive to the API fix
3534 - BUG/MEDIUM: jwt: fix base64 decoding error detection
3535 - BUG/MINOR: jwt: use CRYPTO_memcmp() to compare HMACs
3536 - DOC: jwt: fix a typo in the jwt_verify() keyword description
3537 - BUG/MEDIUM: sample/jwt: fix another instance of base64 error detection
3538 - BUG/MINOR: http-ana: Don't eval front after-response rules if stopped on back
3539 - BUG/MINOR: sample: Fix 'fix_tag_value' sample when waiting for more data
3540 - DOC: config: Move 'tcp-response content' at the right place
3541 - BUG/MINOR: proxy: Use .disabled field as a bitfield as documented
3542 - MINOR: proxy: Introduce proxy flags to replace disabled bitfield
3543 - MINOR: sample/arg: Be able to resolve args found in defaults sections
3544 - MEDIUM: proxy: Warn about ambiguous use of named defaults sections
3545 - MINOR: proxy: Be able to reference the defaults section used by a proxy
3546 - MINOR: proxy: Add PR_FL_READY flag on fully configured and usable proxies
3547 - MINOR: config: Finish configuration for referenced default proxies
3548 - MINOR: config: No longer remove previous anonymous defaults section
3549 - MINOR: tcpcheck: Support 2-steps args resolution in defaults sections
3550 - MEDIUM: rules/acl: Parse TCP/HTTP rules and acls defined in defaults sections
3551 - MEDIUM: tcp-rules: Eval TCP rules defined in defaults sections
3552 - MEDIUM: http-ana: Eval HTTP rules defined in defaults sections
3553 - BUG/MEDIUM: sample: Cumulate frontend and backend sample validity flags
3554 - REGTESTS: Add scripts to test support of TCP/HTTP rules in defaults sections
3555 - DOC: config: Add documentation about TCP/HTTP rules in defaults section
3556 - DOC: config: Rework and uniformize how TCP/HTTP rules are documented
3557 - BUG/MINOR: proxy: Release ACLs and TCP/HTTP rules of default proxies
3558 - BUG/MEDIUM: cpuset: fix cpuset size for FreeBSD
3559 - BUG/MINOR: sample: fix backend direction flags consecutive to last fix
3560 - BUG/MINOR: listener: fix incorrect return on out-of-memory
3561 - BUG/MINOR: listener: add an error check for unallocatable trash
3562 - CLEANUP: listeners: remove unreachable code in clone_listener()
3563
3564 2021/10/08 : 2.5-dev9
3565 - head-truc
3566 - REGTESTS: lua: test the httpclient:get() feature
3567 - Revert "head-truc"
3568 - BUG/MEDIUM: httpclient: replace ist0 by istptr
3569 - MINOR: config: use a standard parser for the "nbthread" keyword
3570 - CLEANUP: init: remove useless test against MAX_THREADS in affinity loop
3571 - MEDIUM: init: de-uglify the per-thread affinity setting
3572 - MINOR: init: extract the setup and end of threads to their own functions
3573 - MINOR: log: Try to get the status code when MUX_EXIT_STATUS is retrieved
3574 - MINOR: mux-h1: Set error code if possible when MUX_EXIT_STATUS is returned
3575 - MINOR: mux-h1: Be able to set custom status code on parsing error
3576 - MEDIUM: mux-h1: Reject HTTP/1.0 GET/HEAD/DELETE requests with a payload
3577 - MEDIUM: h1: Force close mode for invalid uses of T-E header
3578 - BUG/MINOR: mux-h1/mux-fcgi: Sanitize TE header to only send "trailers"
3579 - MINOR: http: Add 422-Unprocessable-Content error message
3580 - MINOR: h1: Change T-E header parsing to fail if chunked encoding is found twice
3581 - BUG/MEDIUM: mux-h1/mux-fcgi: Reject messages with unknown transfer encoding
3582 - REGTESTS: Add script to validate T-E header parsing
3583 - REORG: pools: move default settings to defaults.h
3584 - DOC: peers: fix doc "enable" statement on "peers" sections
3585 - MINOR: Makefile: add MEMORY_POOLS to the list of DEBUG_xxx options
3586 - MINOR: ssl: Set connection error code in case of SSL read or write fatal failure
3587 - MINOR: ssl: Rename ssl_bc_hsk_err to ssl_bc_err
3588 - MINOR: ssl: Store the last SSL error code in case of read or write failure
3589 - REGTESTS: ssl: enable show_ssl_ocspresponse.vtc again
3590 - REGTESTS: ssl: enable ssl_crt-list_filters.vtc again
3591 - BUG/MEDIUM: lua: fix wakeup condition from sleep()
3592 - BUG/MAJOR: lua: use task_wakeup() to properly run a task once
3593 - MINOR: arg: Be able to forbid unresolved args when building an argument list
3594 - BUG/MINOR: tcpcheck: Don't use arg list for default proxies during parsing
3595 - BUG/MINOR: tcp-rules: Stop content rules eval on read error and end-of-input
3596 - MINOR: tasks: catch TICK_ETERNITY with BUG_ON() in __task_queue()
3597 - REGTESTS: ssl: show_ssl_ocspresponse w/ freebsd won't use base64
3598 - REGTESTS: ssl: wrong feature cmd in show_ssl_ocspresponse.vtc
3599 - CLEANUP: tasks: remove the long-unused work_lists
3600 - MINOR: task: provide 3 task_new_* wrappers to simplify the API
3601 - MINOR: time: uninline report_idle() and move it to task.c
3602 - REORG: sched: move idle time calculation from time.h to task.h
3603 - REORG: sched: move the stolen CPU time detection to sched_entering_poll()
3604 - BUG/MEDIUM: filters: Fix a typo when a filter is attached blocking the release
3605 - BUG/MEDIUM: http-ana: Clear request analyzers when applying redirect rule
3606 - MINOR: httpclient: destroy() must free the headers and the ists
3607 - MINOR: httpclient: set HTTPCLIENT_F_ENDED only in release
3608 - MINOR: httpclient: stop_and_destroy() ask the applet to autokill
3609 - MINOR: httpclient: test if started during stop_and_destroy()
3610 - MINOR: httpclient/lua: implement garbage collection
3611 - BUG/MEDIUM: httpclient/lua: crash because of b_xfer and get_trash_chunk()
3612 - MINOR: httpclient: destroy checks if a client was started but not stopped
3613 - BUG/MINOR: httpclient/lua: does not process headers when failed
3614 - MINOR: httpclient/lua: supports headers via named arguments
3615 - CLEANUP: server: always include the storage for SSL settings
3616 - CLEANUP: sample: rename sample_conv_var2smp() to *_sint
3617 - CLEANUP: sample: uninline sample_conv_var2smp_str()
3618 - MINOR: sample: provide a generic var-to-sample conversion function
3619 - BUG/MEDIUM: sample: properly verify that variables cast to sample
3620 - BUILD: action: add the relevant structures for function arguments
3621 - BUILD: extcheck: needs to include stream-t.h
3622 - BUILD: hlua: needs to include stream-t.h
3623 - BUILD: stats: define several missing structures in stats.h
3624 - BUILD: resolvers: define missing types in resolvers.h
3625 - BUILD: httpclient: include missing ssl_sock-t
3626 - BUILD: sample: include openssl-compat
3627 - BUILD: http_ana: need to include proxy-t to get redirect_rule
3628 - BUILD: http_rules: requires http_ana-t.h for REDIRECT_*
3629 - BUILD: vars: need to include xxhash
3630 - BUILD: peers: need to include eb{32/mb/pt}tree.h
3631 - BUILD: ssl_ckch: include ebpttree.h in ssl_ckch.c
3632 - BUILD: compiler: add the container_of() and container_of_safe() macros
3633 - BUILD: idleconns: include missing ebmbtree.h at several places
3634 - BUILD: connection: connection.h needs list.h and server.h
3635 - BUILD: tree-wide: add missing http_ana.h from many places
3636 - BUILD: cfgparse-ssl: add missing errors.h
3637 - BUILD: tcp_sample: include missing errors.h and session-t.h
3638 - BUILD: mworker: mworker-prog needs time.h for the 'now' variable
3639 - BUILD: tree-wide: add several missing activity.h
3640 - BUILD: compat: fix -Wundef on SO_REUSEADDR
3641 - CLEANUP: pools: pools-t.h doesn't need to include thread-t.h
3642 - REORG: pools: uninline the UAF allocator and force-inline the rest
3643 - REORG: thread: uninline the lock-debugging code
3644 - MINOR: thread/debug: replace nsec_now() with now_mono_time()
3645 - CLEANUP: remove some unneeded includes from applet-t.h
3646 - REORG: listener: move bind_conf_alloc() and listener_state_str() to listener.c
3647 - CLEANUP: listeners: do not include openssl-compat
3648 - CLEANUP: servers: do not include openssl-compat
3649 - REORG: ssl: move ssl_sock_is_ssl() to connection.h and rename it
3650 - CLEANUP: mux_fcgi: remove dependency on ssl_sock
3651 - CLEANUP: ssl/server: move ssl_sock_set_srv() to srv_set_ssl() in server.c
3652 - REORG: ssl-sock: move the sslconns/totalsslconns counters to global
3653 - REORG: sample: move the crypto samples to ssl_sample.c
3654 - REORG: sched: moved samp_time and idle_time to task.c as well
3655 - REORG: time/ticks: move now_ms and global_now_ms definitions to ticks.h
3656 - CLEANUP: tree-wide: remove unneeded include time.h in ~20 files
3657 - REORG: activity: uninline activity_count_runtime()
3658 - REORG: acitvity: uninline sched_activity_entry()
3659 - CLEANUP: stream: remove many unneeded includes from stream-t.h
3660 - CLEANUP: stick-table: no need to include socket nor in.h
3661 - MINOR: connection: use uint64_t for the hashes
3662 - REORG: connection: move the hash-related stuff to connection.c
3663 - REORG: connection: uninline conn_notify_mux() and conn_delete_from_tree()
3664 - REORG: server: uninline the idle conns management functions
3665 - REORG: ebtree: split structures into their own file ebtree-t.h
3666 - CLEANUP: tree-wide: only include ebtree-t from type files
3667 - REORG: connection: move the largest inlines from connection.h to connection.c
3668 - CLEANUP: connection: do not include http_ana!
3669 - CLEANUP: connection: remove unneeded tcpcheck-t.h and use only session-t.h
3670 - REORG: connection: uninline the rest of the alloc/free stuff
3671 - REORG: task: uninline the loop time measurement code
3672 - CLEANUP: time: move a few configurable defines to defaults.h
3673 - CLEANUP: fd: do not include time.h
3674 - REORG: fd: uninline compute_poll_timeout()
3675 - CLENAUP: wdt: use ha_tkill() instead of accessing pthread directly
3676 - REORG: thread: move the thread init/affinity/stop to thread.c
3677 - REORG: thread: move ha_get_pthread_id() to thread.c
3678 - MINOR: thread: use a dedicated static pthread_t array in thread.c
3679 - CLEANUP: thread: uninline ha_tkill/ha_tkillall/ha_cpu_relax()
3680 - DOC: configuration: add clarification on escaping in keyword arguments
3681 - BUG/MINOR: task: fix missing include with DEBUG_TASK
3682 - MINOR: pools: report the amount used by thread caches in "show pools"
3683 - MINOR: quic: Distinguish packet and SSL read enc. level in traces
3684 - MINOR: quic: Add a function to dump SSL stack errors
3685 - MINOR: quic: BUG_ON() SSL errors.
3686 - MINOR: quic: Fix SSL error issues (do not use ssl_bio_and_sess_init())
3687 - BUG/MEDIUM: mux-quic: reinsert all streams in by_id tree
3688 - BUG/MAJOR: xprt-quic: do not queue qc timer if not set
3689 - MINOR: mux-quic: release connection if no more bidir streams
3690 - BUG/MAJOR: quic: remove qc from receiver cids tree on free
3691 - BUG/MEDIUM: mux_h2: Handle others remaining read0 cases on partial frames
3692 - MINOR: qpack: do not encode invalid http status code
3693 - MINOR: qpack: support non-indexed http status code encoding
3694 - MINOR: qpack: fix memory leak on huffman decoding
3695 - CLEANUP: mux-quic: remove unused code
3696 - BUG/MINOR: quic: fix includes for compilation
3697 - BUILD: connection: avoid a build warning on FreeBSD with SO_USER_COOKIE
3698 - BUILD: init: avoid a build warning on FreeBSD with USE_PROCCTL
3699 - REORG: time: move time-keeping code and variables to clock.c
3700 - REORG: clock: move the updates of cpu/mono time to clock.c
3701 - MINOR: activity: get the run_time from the clock updates
3702 - CLEANUP: clock: stop exporting before_poll and after_poll
3703 - REORG: clock: move the clock_id initialization to clock.c
3704 - REORG: clock/wdt: move wdt timer initialization to clock.c
3705 - MINOR: clock: move the clock_ids to clock.c
3706 - MINOR: wdt: move wd_timer to wdt.c
3707 - CLEANUP: wdt: do not remap SI_TKILL to SI_LWP, test the values directly
3708 - REORG: thread/sched: move the task_per_thread stuff to thread_ctx
3709 - REORG: thread/clock: move the clock parts of thread_info to thread_ctx
3710 - REORG: thread/sched: move the thread_info flags to the thread_ctx
3711 - REORG: thread/sched: move the last dynamic thread_info to thread_ctx
3712 - MINOR: thread: make "ti" a const pointer and clean up thread_info a bit
3713 - MINOR: threads: introduce a minimalistic notion of thread-group
3714 - MINOR: global: add a new "thread-groups" directive
3715 - MINOR: global: add a new "thread-group" directive
3716 - MINOR: threads: make tg point to the current thread's group
3717 - MEDIUM: threads: automatically assign threads to groups
3718 - MINOR: threads: set the group ID and its bit in the thread group
3719 - MINOR: threads: set the tid, ltid and their bit in thread_cfg
3720 - MEDIUM: threads: replace ha_set_tid() with ha_set_thread()
3721 - MINOR: threads: add the current group ID in thread-local "tgid" variable
3722 - MINOR: debug: report the group and thread ID in the thread dumps
3723 - MEDIUM: listeners: support the definition of thread groups on bind lines
3724 - MINOR: threads: add a new function to resolve config groups and masks
3725 - MEDIUM: config: resolve relative threads on bind lines to absolute ones
3726 - MEDIUM: stick-table: never learn the "conn_cur" value from peers
3727
3728 2021/09/24 : 2.5-dev8
3729 - BUILD: compiler: fixed a missing test on defined(__GNUC__)
3730 - BUILD: halog: fix a -Wundef warning on non-glibc systems
3731 - BUILD: threads: fix -Wundef for _POSIX_PRIORITY_SCHEDULING on libmusl
3732 - BUG/MINOR: compat: make sure __WORDSIZE is always defined
3733 - BUILD: sample: fix format warning on 32-bit archs in sample_conv_be2dec_check()
3734 - CLEANUP: pools: factor all malloc_trim() calls into trim_all_pools()
3735 - MINOR: pools: automatically disable malloc_trim() with external allocators
3736 - MINOR: pools: report it when malloc_trim() is enabled
3737 - DOC: Add .mailmap
3738 - CLEANUP: tree-wide: fix prototypes for functions taking no arguments.
3739 - CLEANUP: Remove prototype for non-existent thread_get_default_count()
3740 - CLEANUP: acl: Remove unused variable when releasing an acl expression
3741 - BUG/MAJOR: mux-h1: Don't eval input data if an error was reported
3742 - DOC: update Tim's address in .mailmap
3743 - MINOR: pools: use mallinfo2() when available instead of mallinfo()
3744 - BUG/MINOR: tcpcheck: Improve LDAP response parsing to fix LDAP check
3745 - DOC: management: certificate files must be sanitized before injection
3746 - BUG/MINOR: connection: prevent null deref on mux cleanup task allocation
3747 - BUILD: ist: prevent gcc11 maybe-uninitialized warning on istalloc
3748 - BUG/MINOR: cli/payload: do not search for args inside payload
3749 - BUILD: sockpair: do not set unused flag
3750 - BUILD: proto_uxst: do not set unused flag
3751 - BUILD: fd: remove unused variable totlen in fd_write_frag_line()
3752 - MINOR: applet: remove the thread mask from appctx_new()
3753 - REORG: threads: move ha_get_pthread_id() to tinfo.h
3754 - CLEANUP: Apply ist.cocci
3755 - DEV: coccinelle: Add ist.cocci
3756 - CLEANUP: Apply bug_on.cocci
3757 - DEV: coccinelle: Add xalloc_size.cocci
3758 - DEV: coccinelle: Add bug_on.cocci
3759 - CLEANUP: Apply xalloc_size.cocci
3760 - DEV: coccinelle: Add xalloc_cast.cocci
3761 - BUG/MINOR: flt-trace: fix an infinite loop when random-parsing is set
3762 - MINOR: httpclient: add the EOH when no headers where provided
3763 - CLEANUP: Include check.h in flt_spoe.c
3764 - CLEANUP: Remove unreachable `break` from parse_time_err()
3765 - BUG/MINOR: server: allow 'enable health' only if check configured
3766 - BUG/MINOR: server: alloc dynamic srv ssl ctx if proxy uses ssl chk rule
3767 - MINOR: server: enable more keywords for ssl checks for dynamic servers
3768 - MINOR: server: enable more check related keywords for dynamic servers
3769 - REORG: server: move slowstart init outside of checks
3770 - MINOR: server: enable slowstart for dynamic server
3771 - MEDIUM: listener: deprecate "process" in favor of "thread" on bind lines
3772 - BUG/MEDIUM: leastconn: fix rare possibility of divide by zero
3773 - BUG/MINOR: quic: Possible NULL pointer dereferencing when dumping streams.
3774 - MINOR: quic: Move transport parmaters to anynomous struct.
3775 - MINOR: mux_quic: Add QUIC mux layer.
3776 - MINOR: connection: Add callbacks definitions for QUIC.
3777 - MINOR: quic: Attach QUIC mux connection objet to QUIC connection.
3778 - MINOR: quic: Add a new definition to store STREAM frames.
3779 - MINOR: h3: Add HTTP/3 definitions.
3780 - MINOR: qpack: Add QPACK compression.
3781 - MINOR: quic_sock: Finalize the QUIC connections.
3782 - MINOR: quic: Disable the action of ->rcv_buf() xprt callback
3783 - MINOR: quic: Add callbacks for (un)scribing to QUIC xprt.
3784 - MINOR: quic: Variable-length integer encoding/decoding into/from buffer struct.
3785 - BUG/MINOR: quic: Wrong ->accept() error handling
3786 - MINOR: quic: Add a wrapper function to update transport parameters.
3787 - MINOR: quic: Update the streams transport parameters.
3788 - MINOR: quic: Avoid header collisions
3789 - MINOR: quic: Replace max_packet_size by max_udp_payload size.
3790 - MINOR: quic: Enable some quic, h3 and qpack modules compilation.
3791 - MINOR: quic: Move an SSL func call from QUIC I/O handler to the xprt init.
3792 - MINOR: quic: Initialize the session before starting the xprt.
3793 - BUG/MINOR: quic: Do not check the acception of a new conn from I/O handler.
3794 - MINOR: quic: QUIC conn initialization from I/O handler
3795 - MINOR: quic: Remove header protection for conn with context
3796 - MINOR: quic: Derive the initial secrets asap
3797 - MINOR: quic: Remove header protection also for Initial packets
3798 - BUG/MINOR: quic: Wrong memory free in quic_update_ack_ranges_list()
3799 - MINOR: quic: quic_update_ack_ranges_list() code factorization
3800 - MINOR: quic: Useless test in quic_update_ack_ranges_list()
3801 - MINOR: quic: Remove a useless variable in quic_update_ack_ranges_list()
3802 - BUG/MINOR: quic: Missing cases treatement when updating ACK ranges
3803 - CLEAUNUP: quic: Usage of a useless variable in qc_treat_rx_pkts()
3804 - BUG/MINOR: quic: Wrong RX packet reference counter usage
3805 - MINOR: quic: Do not stop the packet parsing too early in qc_treat_rx_packets()
3806 - MINOR: quic: Add a lock for RX packets
3807 - MINOR: quic: Move the connection state
3808 - MINOR: quic: Replace quic_conn_ctx struct by ssl_sock_ctx struct
3809 - MINOR: quic: Replace the RX list of packet by a thread safety one.
3810 - MINOR: quic: Replace the RX unprotected packet list by a thread safety one.
3811 - MINOR: quic: Add useful traces for I/O dgram handler
3812 - MINOR: quic: Do not wakeup the xprt task on ACK receipt
3813 - MINOR: quic: Connection allocations rework
3814 - MINOR: quic: Move conn_prepare() to ->accept_conn() callback
3815 - MINOR: quic: Make qc_lstnr_pkt_rcv() be thread safe.
3816 - MINOR: quic: Add a ring buffer implementation for QUIC
3817 - MINOR: quic: Prefer x25519 as ECDH preferred parametes.
3818 - MINOR: quic: Add the QUIC v1 initial salt.
3819 - BUG/MINOR: quic: Too much reduced computed space to build handshake packets
3820 - MINOR: net_helper: add functions for pointers
3821 - MINOR: quic: Add ring buffer definition (struct qring) for QUIC
3822 - MINOR: proto_quic: Allocate TX ring buffers for listeners
3823 - MINOR: quic: Initialize pointers to TX ring buffer list
3824 - MINOR: quic: Make use of TX ring buffers to send QUIC packets
3825 - MINOR: quic_tls: Make use of the QUIC V1 salt.
3826 - MINOR: quic: Remove old TX buffer implementation
3827 - MINOR: Add function for TX packets reference counting
3828 - MINOR: quic: Add TX packets at the very last time to their tree.
3829 - MINOR: quic: Unitialized mux context upon Client Hello message receipt.
3830 - MINOR: quic: Missing encryption level rx.crypto member initialization and lock.
3831 - MINOR: quic: Rename ->rx.rwlock of quic_enc_level struct to ->rx.pkts_rwlock
3832 - MINOR: quic: Make qc_treat_rx_pkts() be thread safe.
3833 - MINOR: quic: Make ->tx.frms quic_pktns struct member be thread safe
3834 - MINOR: quic: Replace quic_tx_frm struct by quic_frame struct
3835 - MINOR: quic: Add a mask for TX frame builders and their authorized packet types
3836 - MINOR: quic: Add a useful function to compute any frame length.
3837 - MINOR: quic: Add the QUIC connection state to traces
3838 - MINOR: quic: Store post handshake frame in ->pktns.tx.frms MT_LIST
3839 - MINOR: quic: Add the packet type to quic_tx_packet struct
3840 - MINOR: quic: Modify qc_do_build_hdshk_pkt() to accept any packet type
3841 - MINOR: quic: Atomically handle packet number space ->largest_acked_pn variable
3842 - MINOR: quic: Modify qc_build_cfrms() to support any frame
3843 - MINOR: quic: quic_conn_io_cb() task rework
3844 - MINOR: quic: Make qc_build_hdshk_pkt() atomically consume a packet number
3845 - MINOR: quic: qc_do_build_hdshk_pkt() does not need to pass a copy of CRYPTO frame
3846 - MINOR: quic: Remove Application level related functions
3847 - MINOR: quic: Rename functions which do not build only Handshake packets
3848 - MINOR: quic: Make circular buffer internal buffers be variable-sized.
3849 - MINOR: quic: Add a pool for TX ring buffer internal buffer
3850 - MINOR: quic: Make use of the last cbuf API when initializing TX ring buffers
3851 - MINOR: quic: Missing acks encoded size updates.
3852 - MINOR: quic: Evaluate the packet lengths in advance
3853 - MINOR: quic: Update the TLS extension for QUIC transport parameters
3854 - MINOR: quic: Fix handshake state debug strings
3855 - MINOR: quic: Atomically get/set the connection state
3856 - MINOR: quic: Missing QUIC encryption level for qc_build_pkt()
3857 - MINOR: quic: Coalesce Application level packets with Handshake packets.
3858 - MINOR: quic: Wrong flags handling for acks
3859 - MINOR: quic: Missing case when discarding HANDSHAKE secrets
3860 - MINOR: quic: Post handshake packet building improvements
3861 - MINOR: quic: Prepare Application level packet asap.
3862 - MINOR: h3: Send h3 settings asap
3863 - MINOR: quic: Wrong STREAM frame length computing
3864 - MINOR: quic: Wrong short packet minimum length
3865 - MINOR: quic: Prepare STREAM frames to fill QUIC packets
3866 - MINOR: h3: change default settings
3867 - MINOR: quic-enc: fix varint encoding
3868 - MINOR: qpack: fix wrong comment
3869 - MINOR: qpack: generate headers list on decoder
3870 - MINOR: h3: parse headers to htx
3871 - MINOR: h3: allocate stream on headers
3872 - MEDIUM: mux-quic: implement ring buffer on stream tx
3873 - MINOR: mux-quic: send SETTINGS on uni stream
3874 - MINOR: h3: define snd_buf callback and divert mux ops
3875 - MINOR: mux-quic: define FIN stream flag
3876 - MINOR: qpack: create qpack-enc module
3877 - MINOR: qpack: encode headers functions
3878 - MINOR: h3: encode htx headers to QPACK
3879 - MINOR: h3: send htx data
3880 - MINOR: h3/mux: detect fin on last h3 frame of the stream
3881 - MINOR: quic: Shorten some handshakes
3882 - MINOR: quic: Make QUIC-TLS support at least two initial salts
3883 - MINOR: quic: Attach the QUIC connection to a thread.
3884 - MINOR: quic: Missing active_connection_id_limit default value
3885 - MINOR: quic_sock: Do not flag QUIC connections as being set
3886 - MINOR: buf: Add b_force_xfer() function
3887 - MINOR: quic: Make use of buffer structs to handle STREAM frames
3888 - MINOR: mux_quic: move qc_process() code to qc_send()
3889 - MINOR: quic: Add a typedef for unsigned long long
3890 - MINOR: quic: Confusion between TX/RX for the frame builders
3891 - MINOR: quic: Wrong packet flags settings during frame building
3892 - MINOR: quic: Constantness fixes for frame builders/parsers.
3893 - MINOR: quic_tls: Client/serveur state reordering
3894 - MINOR: quic: Wrong packet loss detection due to wrong pktns order
3895 - MINOR: quic: Wrong packet number space selection in quic_loss_pktns()
3896 - MINOR: quic: Initial packet number spaced not discarded
3897 - MINOR: quic: Add useful trace about pktns discarding
3898 - MINOR: mux_quic: Export the mux related flags
3899 - MINOR: quic: Implement quic_conn_subscribe()
3900 - MINOR: quic: Wake up the mux upon ACK receipt
3901 - MINOR: quic: Stream FIN bit fix in qcs_push_frame()
3902 - MINOR: quic: Implement qc_process_mux()
3903 - MINOR: quic: Wake up the xprt from mux
3904 - CLEANUP: quic: Remove useless inline functions
3905 - MINOR: quic: RX packets memory leak
3906 - MINOR: quic: Possible endless loop in qc_treat_rx_pkts()
3907 - MINOR: quic: Crash upon too big packets receipt
3908 - MINOR: quic: define close handler
3909 - MEDIUM: quic: implement mux release/conn free
3910 - MINOR: quic: fix qcc subs initialization
3911 - BUG/MINOR: h1-htx: Fix a typo when request parser is reset
3912 - BUG/MEDIUM: mux-h1: Adjust conditions to ask more space in the channel buffer
3913 - BUG/MEDIUM: stream-int: Notify stream that the mux wants more room to xfer data
3914 - BUG/MEDIUM: stream: Stop waiting for more data if SI is blocked on RXBLK_ROOM
3915 - MINOR: stream-int: Set CO_RFL transient/persistent flags apart in si_cs_rcv()
3916 - MINOR: htx: Add an HTX flag to know when a message is fragmented
3917 - MINOR: htx: Add a function to know if the free space wraps
3918 - BUG/MEDIUM: stream-int: Defrag HTX message in si_cs_recv() if necessary
3919 - MINOR: stream-int: Notify mux when the buffer is not stuck when calling rcv_buf
3920 - BUG/MINOR: http-ana: increment internal_errors counter on response error
3921 - MINOR: stats: Enable dark mode on stat web page
3922 - CLEANUP: stats: Fix some alignment mistakes
3923 - MINOR: httpclient: httpclient_data() returns the available data
3924 - MINOR: httpclient: httpclient_ended() returns 1 if the client ended
3925 - MINOR: httpclient/lua: httpclient:get() API in lua
3926 - MINOR: httpclient/lua: implement the headers in the response object
3927 - BUG/MINOR: httpclient/lua: return an error on argument check
3928 - CLEANUP: slz: Mark `reset_refs` as static
3929
3930 2021/09/12 : 2.5-dev7
3931 - BUG/MINOR: config: reject configs using HTTP with bufsize >= 256 MB
3932 - CLEANUP: htx: remove comments about "must be < 256 MB"
3933 - BUG/MAJOR: htx: fix missing header name length check in htx_add_header/trailer
3934 - Revert "BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive"
3935 - MINOR: proxy: add a global "grace" directive to postpone soft-stop
3936 - MINOR: vars: rename vars_init() to vars_init_head()
3937 - CLEANUP: vars: rename sample_clear_stream() to var_unset()
3938 - REORG: vars: remerge sample_store{,_stream}() into var_set()
3939 - MEDIUM: vars: make the ifexist variant of set-var only apply to the proc scope
3940 - MINOR: vars: add a VF_CREATEONLY flag for creation
3941 - MINOR: vars: support storing empty sample data with a variable
3942 - MINOR: vars: store flags into variables and add VF_PERMANENT
3943 - MEDIUM: vars: make var_clear() only reset VF_PERMANENT variables
3944 - MEDIUM: vars: pre-create parsed SCOPE_PROC variables as permanent ones
3945 - MINOR: vars: preset a random seed to hash variables names
3946 - MEDIUM: vars: replace the global name index with a hash
3947 - CLEANUP: vars: remove the now unused var_names array
3948 - MINOR: vars: centralize the lock/unlock into static inlines
3949 - OPTIM: vars: only takes the variables lock on shared entries
3950 - OPTIM: vars: remove internal bookkeeping for vars_global_size
3951 - OPTIM: vars: do not keep variables usage stats if no limit is set
3952 - BUILD: fix dragonfly build again on __read_mostly
3953 - CI: Github Actions: temporarily disable Opentracing
3954 - BUG/MEDIUM: mux-h1: Remove "Upgrade:" header for requests with payload
3955 - MINOR: htx: Skip headers with no value when adding a header list to a message
3956 - CLEANUP: mux-h1: Remove condition rejecting upgrade requests with payload
3957 - BUG/MEDIUM: stream-int: Don't block SI on a channel policy if EOI is reached
3958 - BUG/MEDIUM: http-ana: Reset channels analysers when returning an error
3959 - BUG/MINOR: filters: Set right FLT_END analyser depending on channel
3960 - CLEANUP: Add haproxy/xxhash.h to avoid modifying import/xxhash.h
3961 - CLEANUP: ebmbtree: Replace always-taken elseif by else
3962 - CLEANUP: Move XXH3 macro from haproxy/compat.h to haproxy/xxhash.h
3963 - BUILD: opentracing: exclude the use of haproxy variables for the OpenTracing context
3964 - BUG/MINOR: opentracing: enable the use of http headers without a set value
3965 - CLEANUP: opentracing: use the haproxy function to generate uuid
3966 - MINOR: opentracing: change the scope of the variable 'ot.uuid' from 'sess' to 'txn'
3967 - CI: Github Actions: re-enable Opentracing
3968 - CLEANUP: opentracing: simplify the condition on the empty header
3969 - BUG/MEDIUM lua: Add missing call to RESET_SAFE_LJMP in hlua_filter_new()
3970
3971 2021/09/03 : 2.5-dev6
3972 - BUG/MINOR threads: Use get_(local|gm)time instead of (local|gm)time
3973 - BUG/MINOR: tools: Fix loop condition in dump_text()
3974 - BUILD: ssl: next round of build warnings on LIBRESSL_VERSION_NUMBER
3975 - BUILD: ssl: fix two remaining occurrences of #if USE_OPENSSL
3976 - BUILD: tools: properly guard __GLIBC__ with defined()
3977 - BUILD: globally enable -Wundef
3978 - MINOR: log: Remove log-error-via-logformat option
3979 - MINOR: log: Add new "error-log-format" option
3980 - BUG/MAJOR: queue: better protect a pendconn being picked from the proxy
3981 - CLEANUP: Add missing include guard to signal.h
3982 - MINOR: ssl: Add new ssl_bc_hsk_err sample fetch
3983 - MINOR: connection: Add a connection error code sample fetch for backend side
3984 - REGTESTS: ssl: Add tests for bc_conn_err and ssl_bc_hsk_err sample fetches
3985 - MINOR: http-rules: add a new "ignore-empty" option to redirects.
3986 - CI: Github Actions: temporarily disable BoringSSL builds
3987 - BUG/MINOR: vars: fix set-var/unset-var exclusivity in the keyword parser
3988 - BUG/MINOR: vars: improve accuracy of the rules used to check expression validity
3989 - MINOR: sample: add missing ARGC_ entries
3990 - BUG/MINOR: vars: properly set the argument parsing context in the expression
3991 - DOC: configuration: remove wrong tcp-request examples in tcp-response
3992 - MEDIUM: vars: add a new "set-var-fmt" action
3993 - BUG/MEDIUM: vars: run over the correct list in release_store_rules()
3994 - BUG/MINOR: vars: truncate the variable name in error reports about scope.
3995 - BUG/MINOR: vars: do not talk about global section in CLI errors for set-var
3996 - CLEANUP: vars: name the temporary proxy "CFG" instead of "CLI" for global vars
3997 - MINOR: log: make log-format expressions completely usable outside of req/resp
3998 - MINOR: vars: add a "set-var-fmt" directive to the global section
3999 - MEDIUM: vars: also support format strings in CLI's "set var" command
4000 - CLEANUP: vars: factor out common code from vars_get_by_{desc,name}
4001 - MINOR: vars: make vars_get_by_* support an optional default value
4002 - MINOR: vars: make the vars() sample fetch function support a default value
4003 - BUILD: ot: add argument for default value to vars_get_by_name()
4004
4005 2021/08/28 : 2.5-dev5
4006 - MINOR: httpclient: initialize the proxy
4007 - MINOR: httpclient: implement a simple HTTP Client API
4008 - MINOR: httpclient/cli: implement a simple client over the CLI
4009 - MINOR: httpclient/cli: change the User-Agent to "HAProxy"
4010 - MEDIUM: ssl: Keep a reference to the client's certificate for use in logs
4011 - BUG/MEDIUM: h2: match absolute-path not path-absolute for :path
4012 - BUILD/MINOR: ssl: Fix compilation with OpenSSL 1.0.2
4013 - MINOR: server: check if srv is NULL in free_server()
4014 - MINOR: proxy: check if p is NULL in free_proxy()
4015 - BUG/MEDIUM: cfgparse: do not allocate IDs to automatic internal proxies
4016 - BUG/MINOR: http_client: make sure to preset the proxy's default settings
4017 - REGTESTS: http_upgrade: fix incorrect expectation on TCP->H1->H2
4018 - REGTESTS: abortonclose: after retries, 503 is expected, not close
4019 - REGTESTS: server: fix agent-check syntax and expectation
4020 - BUG/MINOR: httpclient: fix uninitialized sl variable
4021 - BUG/MINOR: httpclient/cli: change the appctx test in the callbacks
4022 - BUG/MINOR: httpclient: check if hdr_num is not 0
4023 - MINOR: httpclient: cleanup the include files
4024 - MINOR: hlua: take the global Lua lock inside a global function
4025 - MINOR: tools: add FreeBSD support to get_exec_path()
4026 - BUG/MINOR: systemd: ExecStartPre must use -Ws
4027 - MINOR: systemd: remove the ExecStartPre line in the unit file
4028 - MINOR: ssl: add an openssl version string parser
4029 - MINOR: cfgcond: implements openssl_version_atleast and openssl_version_before
4030 - CLEANUP: ssl: remove useless check on p in openssl_version_parser()
4031 - BUG/MINOR: stick-table: fix the sc-set-gpt* parser when using expressions
4032 - BUG/MINOR: httpclient: remove deinit of the httpclient
4033 - BUG/MEDIUM: base64: check output boundaries within base64{dec,urldec}
4034 - MINOR: httpclient: set verify none on the https server
4035 - MINOR: httpclient: add the server to the proxy
4036 - BUG/MINOR: httpclient: fix Host header
4037 - BUILD: httpclient: fix build without OpenSSL
4038 - CI: github-actions: remove obsolete options
4039 - CLEANUP: assorted typo fixes in the code and comments
4040 - MINOR: proc: setting the process to produce a core dump on FreeBSD.
4041 - BUILD: adopt script/build-ssl.sh for OpenSSL-3.0.0beta2
4042 - MINOR: server: return the next srv instance on free_server
4043 - BUG/MINOR: stats: use refcount to protect dynamic server on dump
4044 - MEDIUM: server: extend refcount for all servers
4045 - MINOR: server: define non purgeable server flag
4046 - MINOR: server: mark referenced servers as non purgeable
4047 - MINOR: server: mark servers referenced by LUA script as non purgeable
4048 - MEDIUM: server: allow to remove servers at runtime except non purgeable
4049 - BUG/MINOR: base64: base64urldec() ignores padding in output size check
4050 - REGTEST: add missing lua requirements on server removal test
4051 - REGTEST: fix haproxy required version for server removal test
4052 - BUG/MINOR: proxy: don't dump servers of internal proxies
4053 - REGTESTS: Use `feature cmd` for 2.5+ tests
4054 - REGTESTS: Remove REQUIRE_VERSION=1.5 from all tests
4055 - BUG/MINOR: resolvers: mark servers with name-resolution as non purgeable
4056 - MINOR: compiler: implement an ONLY_ONCE() macro
4057 - BUG/MINOR: lua: use strlcpy2() not strncpy() to copy sample keywords
4058 - MEDIUM: ssl: Capture more info from Client Hello
4059 - MINOR: sample: Expose SSL captures using new fetchers
4060 - MINOR: sample: Add be2dec converter
4061 - MINOR: sample: Add be2hex converter
4062 - MEDIUM: config: Deprecate tune.ssl.capture-cipherlist-size
4063 - BUG/MINOR: time: fix idle time computation for long sleeps
4064 - MINOR: time: add report_idle() to report process-wide idle time
4065 - BUG/MINOR: ebtree: remove dependency on incorrect macro for bits per long
4066 - BUILD: activity: use #ifdef not #if on USE_MEMORY_PROFILING
4067 - BUILD/MINOR: defaults: eliminate warning on MAXHOSTNAMELEN with -Wundef
4068 - BUILD/MINOR: ssl: avoid a build warning on LIBRESSL_VERSION with -Wundef
4069 - IMPORT: slz: silence a build warning with -Wundef
4070 - BUILD/MINOR: regex: avoid a build warning on USE_PCRE2 with -Wundef
4071
4072 2021/08/17 : 2.5-dev4
4073 - MINOR: log: rename 'dontloglegacyconnerr' to 'log-error-via-logformat'
4074 - MINOR: doc: rename conn_status in `option httsplog`
4075 - MINOR: proxy: disabled takes a stopping and a disabled state
4076 - MINOR: stats: shows proxy in a stopped state
4077 - BUG/MINOR: server: fix race on error path of 'add server' CLI if track
4078 - CLEANUP: thread: fix fantaisist indentation of thread_harmless_till_end()
4079 - MINOR: threads: make thread_release() not wait for other ones to complete
4080 - MEDIUM: threads: add a stronger thread_isolate_full() call
4081 - MEDIUM: servers: make the server deletion code run under full thread isolation
4082 - BUG/MINOR: server: remove srv from px list on CLI 'add server' error
4083 - MINOR: activity/fd: remove the dead_fd counter
4084 - MAJOR: fd: get rid of the DWCAS when setting the running_mask
4085 - CLEANUP: fd: remove the now unused fd_set_running()
4086 - CLEANUP: fd: remove the now unneeded fd_mig_lock
4087 - BUG/MINOR: server: update last_change on maint->ready transitions too
4088 - MINOR: spoe: Add a pointer on the filter config in the spoe_agent structure
4089 - BUG/MEDIUM: spoe: Create a SPOE applet if necessary when the last one is released
4090 - BUG/MEDIUM: spoe: Fix policy to close applets when SPOE connections are queued
4091 - MINOR: server: unmark deprecated on enable health/agent cli
4092 - MEDIUM: task: implement tasklet kill
4093 - MINOR: server: initialize fields for dynamic server check
4094 - MINOR: check: allocate default check ruleset for every backends
4095 - MINOR: check: export check init functions
4096 - MINOR: check: do not increment global maxsock at runtime
4097 - MINOR: server: implement a refcount for dynamic servers
4098 - MEDIUM: check: implement check deletion for dynamic servers
4099 - MINOR: check: enable safe keywords for dynamic servers
4100 - MEDIUM: server: implement check for dynamic servers
4101 - MEDIUM: server: implement agent check for dynamic servers
4102 - REGTESTS: server: add dynamic check server test
4103 - MINOR: doc: specify ulimit-n usage for dynamic servers
4104 - REGTESTS: server: fix dynamic server with checks test
4105 - CI: travis-ci: temporarily disable arm64 builds
4106 - BUG/MINOR: check: test if server is not null in purge
4107 - MINOR: global: define MODE_STOPPING
4108 - BUG/MINOR: server: do not use refcount in free_server in stopping mode
4109 - ADMIN: dyncookie: implement a simple dynamic cookie calculator
4110 - BUG/MINOR: check: do not reset check flags on purge
4111 - BUG/MINOR: check: fix leak on add dynamic server with agent-check error
4112 - BUG/MEDIUM: check: fix leak on agent-check purge
4113 - BUG/MEDIUM: server: support both check/agent-check on a dynamic instance
4114 - BUG/MINOR: buffer: fix buffer_dump() formatting
4115 - MINOR: channel: remove an htx block from a channel
4116 - BUG/MINOR: tcpcheck: Properly detect pending HTTP data in output buffer
4117 - BUG/MINOR: stream: Don't release a stream if FLT_END is still registered
4118 - MINOR: lua: Add a flag on lua context to know the yield capability at run time
4119 - BUG/MINOR: lua: Yield in channel functions only if lua context can yield
4120 - BUG/MINOR: lua: Don't yield in channel.append() and channel.set()
4121 - MINOR: filters/lua: Release filters before the lua context
4122 - MINOR: lua: Add a function to get a reference on a table in the stack
4123 - MEDIUM: lua: Process buffer data using an offset and a length
4124 - MEDIUM: lua: Improve/revisit the lua api to manipulate channels
4125 - DOC: Improve the lua documentation
4126 - MEDIUM: filters/lua: Add support for dummy filters written in lua
4127 - MINOR: lua: Add a function to get a filter attached to a channel class
4128 - MINOR: lua: Add flags on the lua TXN to know the execution context
4129 - MEDIUM: filters/lua: Be prepared to filter TCP payloads
4130 - MEDIUM: filters/lua: Support declaration of some filter callback functions in lua
4131 - MEDIUM: filters/lua: Add HTTPMessage class to help HTTP filtering
4132 - MINOR: filters/lua: Add request and response HTTP messages in the lua TXN
4133 - MINOR: filters/lua: Support the HTTP filtering from filters written in lua
4134 - DOC: config: Fix 'http-response send-spoe-group' documentation
4135 - BUG/MINOR: lua: Properly check negative offset in Channel/HttpMessage functions
4136 - BUG/MINOR: lua: Properly catch alloc errors when parsing lua filter directives
4137 - BUG/MEDIUM: cfgcheck: verify existing log-forward listeners during config check
4138 - MINOR: cli: delare the CLI frontend as an internal proxy
4139 - MINOR: proxy: disable warnings for internal proxies
4140 - BUG/MINOR: filters: Always set FLT_END analyser when CF_FLT_ANALYZE flag is set
4141 - BUG/MINOR: lua/filters: Return right code when txn:done() is called
4142 - DOC: lua-api: Add documentation about lua filters
4143 - CI: Remove obsolete USE_SLZ=1 CI job
4144 - CLEANUP: assorted typo fixes in the code and comments
4145 - CI: github actions: relax OpenSSL-3.0.0 version comparision
4146 - BUILD: tools: get the absolute path of the current binary on NetBSD.
4147 - DOC: Minor typo fix - 'question mark' -> 'exclamation mark'
4148 - DOC/MINOR: fix typo in management document
4149 - MINOR: http: add a new function http_validate_scheme() to validate a scheme
4150 - BUG/MAJOR: h2: verify early that non-http/https schemes match the valid syntax
4151 - BUG/MAJOR: h2: verify that :path starts with a '/' before concatenating it
4152 - BUG/MAJOR: h2: enforce stricter syntax checks on the :method pseudo-header
4153 - BUG/MEDIUM: h2: give :authority precedence over Host
4154 - REGTESTS: add a test to prevent h2 desync attacks
4155
4156 2021/08/01 : 2.5-dev3
4157 - BUG/MINOR: arg: free all args on make_arg_list()'s error path
4158 - BUG/MINOR: cfgcond: revisit the condition freeing mechanism to avoid a leak
4159 - MEDIUM: proxy: remove long-broken 'option http_proxy'
4160 - CLEANUP: http_ana: Remove now unused label from http_process_request()
4161 - MINOR: deinit: always deinit the init_mutex on failed initialization
4162 - BUG/MEDIUM: cfgcond: limit recursion level in the condition expression parser
4163 - BUG/MEDIUM: mworker: do not register an exit handler if exit is expected
4164 - BUG/MINOR: mworker: do not export HAPROXY_MWORKER_REEXEC across programs
4165 - BUILD/MINOR: memprof fix macOs build.
4166 - BUG/MEDIUM: ssl_sample: fix segfault for srv samples on invalid request
4167 - BUG/MINOR: stats: Add missing agent stats on servers
4168 - BUG/MINOR: check: fix the condition to validate a port-less server
4169 - BUILD: threads: fix pthread_mutex_unlock when !USE_THREAD
4170 - BUG/MINOR: resolvers: Use a null-terminated string to lookup in servers tree
4171 - MINOR: ssl: use __objt_* variant when retrieving counters
4172 - BUG/MINOR: systemd: must check the configuration using -Ws
4173 - BUG/MINOR: mux-h1: Obey dontlognull option for empty requests
4174 - BUG/MINOR: mux-h2: Obey dontlognull option during the preface
4175 - BUG/MINOR: mux-h1: Be sure to swap H1C to splice mode when rcv_pipe() is called
4176 - BUG/MEDIUM: mux-h2: Handle remaining read0 cases on partial frames
4177 - MINOR: proxy: rename PR_CAP_LUA to PR_CAP_INT
4178 - MINOR: mworker: the mworker CLI proxy is internal
4179 - MINOR: stats: don't output internal proxies (PR_CAP_INT)
4180 - CLEANUP: mworker: use the proxy helper functions in mworker_cli_proxy_create()
4181 - CLEANUP: mworker: PR_CAP already initialized with alloc_new_proxy()
4182 - BUG/MINOR: connection: Add missing error labels to conn_err_code_str
4183 - MINOR: connection: Add a connection error code sample fetch
4184 - MINOR: ssl: Enable error fetches in case of handshake error
4185 - MINOR: ssl: Add new ssl_fc_hsk_err sample fetch
4186 - MINOR: ssl: Define a default https log format
4187 - MEDIUM: connection: Add option to disable legacy error log
4188 - REGTESTS: ssl: Add tests for the connection and SSL error fetches
4189 - REGTESTS: ssl: ssl_errors.vtc does not work with old openssl version
4190 - BUG/MEDIUM: connection: close a rare race between idle conn close and takeover
4191 - BUG/MEDIUM: pollers: clear the sleeping bit after waking up, not before
4192 - BUG/MINOR: select: fix excess number of dead/skip reported
4193 - BUG/MINOR: poll: fix abnormally high skip_fd counter
4194 - BUG/MINOR: pollers: always program an update for migrated FDs
4195 - BUG/MINOR: fd: protect fd state harder against a concurrent takeover
4196 - DOC: internals: document the FD takeover process
4197 - MINOR: fd: update flags only once in fd_update_events()
4198 - MINOR: poll/epoll: move detection of RDHUP support earlier
4199 - REORG: fd: uninline fd_update_events()
4200 - MEDIUM: fd: rely more on fd_update_events() to detect changes
4201 - BUG/MINOR: freq_ctr: use stricter barriers between updates and readings
4202 - MEDIUM: atomic: simplify the atomic load/store/exchange operations
4203 - MEDIUM: atomic: relax the load/store barriers on x86_64
4204 - BUILD: opentracing: fixed build when using pkg-config utility
4205
4206 2021/07/17 : 2.5-dev2
4207 - BUILD/MEDIUM: tcp: set-mark support for OpenBSD
4208 - DOC: config: use CREATE USER for mysql-check
4209 - BUG/MINOR: stick-table: fix several printf sign errors dumping tables
4210 - BUG/MINOR: peers: fix data_type bit computation more than 32 data_types
4211 - MINOR: stick-table: make skttable_data_cast to use only std types
4212 - MEDIUM: stick-table: handle arrays of standard types into stick-tables
4213 - MEDIUM: peers: handle arrays of std types in peers protocol
4214 - DOC: stick-table: add missing documentation about gpt0 stored type
4215 - MEDIUM: stick-table: add the new array of gpt data_type
4216 - MEDIUM: stick-table: make the use of 'gpt' excluding the use of 'gpt0'
4217 - MEDIUM: stick-table: add the new arrays of gpc and gpc_rate
4218 - MEDIUM: stick-table: make the use of 'gpc' excluding the use of 'gpc0/1''
4219 - BUG/MEDIUM: sock: make sure to never miss early connection failures
4220 - BUG/MINOR: cli: fix server name output in "show fd"
4221 - Revert "MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules"
4222 - MEDIUM: stats: include disabled proxies that hold active sessions to stats
4223 - BUILD: stick-table: shut up invalid "uninitialized" warning in gcc 8.3
4224 - MINOR: http: implement http_get_scheme
4225 - MEDIUM: http: implement scheme-based normalization
4226 - MEDIUM: h1-htx: apply scheme-based normalization on h1 requests
4227 - MEDIUM: h2: apply scheme-based normalization on h2 requests
4228 - REGTESTS: add http scheme-based normalization test
4229 - BUILD: http_htx: fix ci compilation error with isdigit for Windows
4230 - MINOR: http: implement http uri parser
4231 - MINOR: http: use http uri parser for scheme
4232 - MINOR: http: use http uri parser for authority
4233 - REORG: http_ana: split conditions for monitor-uri in wait for request
4234 - MINOR: http: use http uri parser for path
4235 - BUG/MEDIUM: http_ana: fix crash for http_proxy mode during uri rewrite
4236 - MINOR: mux_h2: define config to disable h2 websocket support
4237 - CLEANUP: applet: remove unused thread_mask
4238 - BUG/MINOR: ssl: Default-server configuration ignored by server
4239 - BUILD: add detection of missing important CFLAGS
4240 - BUILD: lua: silence a build warning with TCC
4241 - MINOR: srv: extract tracking server config function
4242 - MINOR: srv: do not allow to track a dynamic server
4243 - MEDIUM: server: support track keyword for dynamic servers
4244 - REGTESTS: test track support for dynamic servers
4245 - MINOR: init: verify that there is a single word on "-cc"
4246 - MINOR: init: make -cc support environment variables expansion
4247 - MINOR: arg: add a free_args() function to free an args array
4248 - CLEANUP: config: use free_args() to release args array in cfg_eval_condition()
4249 - CLEANUP: hlua: use free_args() to release args arrays
4250 - REORG: config: move the condition preprocessing code to its own file
4251 - MINOR: cfgcond: start to split the condition parser to introduce terms
4252 - MEDIUM: cfgcond: report invalid trailing chars after expressions
4253 - MINOR: cfgcond: remerge all arguments into a single line
4254 - MINOR: cfgcond: support negating conditional expressions
4255 - MINOR: cfgcond: make the conditional term parser automatically allocate nodes
4256 - MINOR: cfgcond: insert an expression between the condition and the term
4257 - MINOR: cfgcond: support terms made of parenthesis around expressions
4258 - REGTEST: make check_condition.vtc fail as soon as possible
4259 - REGTESTS: add more complex check conditions to check_conditions.vtc
4260 - BUG/MEDIUM: init: restore behavior of command-line "-m" for memory limitation
4261
4262 2021/06/30 : 2.5-dev1
4263 - CLEANUP: ssl: Move ssl_store related code to ssl_ckch.c
4264 - MINOR: ssl: Allow duplicated entries in the cafile_tree
4265 - MEDIUM: ssl: Chain ckch instances in ca-file entries
4266 - MINOR: ssl: Add reference to default ckch instance in bind_conf
4267 - MINOR: ssl: Add helper functions to create/delete cafile entries
4268 - MEDIUM: ssl: Add a way to load a ca-file content from memory
4269 - MINOR: ssl: Add helper function to add cafile entries
4270 - MINOR: ssl: Ckch instance rebuild and cleanup factorization in CLI handler
4271 - MEDIUM: ssl: Add "set+commit ssl ca-file" CLI commands
4272 - REGTESTS: ssl: Add new ca-file update tests
4273 - MINOR: ssl: Add "abort ssl ca-file" CLI command
4274 - MINOR: ssl: Add a cafile_entry type field
4275 - MINOR: ssl: Refactorize the "show certificate details" code
4276 - MEDIUM: ssl: Add "show ssl ca-file" CLI command
4277 - MEDIUM: ssl: Add "new ssl ca-file" CLI command
4278 - MINOR: ssl: Add "del ssl ca-file" CLI command
4279 - REGTESTS: ssl: Add "new/del ssl ca-file" tests
4280 - DOC: ssl: Add documentation about CA file hot update commands
4281 - DOC: internals: update the SSL architecture schema
4282 - MINOR: ssl: Chain instances in ca-file entries
4283 - MEDIUM: ssl: Add "set+commit ssl crl-file" CLI commands
4284 - MEDIUM: ssl: Add "new+del crl-file" CLI commands
4285 - MINOR: ssl: Add "abort ssl crl-file" CLI command
4286 - MEDIUM: ssl: Add "show ssl crl-file" CLI command
4287 - REGTESTS: ssl: Add "new/del ssl crl-file" tests
4288 - REGTESTS: ssl: Add "set/commit ssl crl-file" test
4289 - DOC: ssl: Add documentation about CRL file hot update commands
4290 - BUILD/MINOR: ssl: Fix compilation with SSL enabled
4291 - BUILD/MINOR: ssl: Fix compilation with OpenSSL 1.0.2
4292 - CI: introduce scripts/build-vtest.sh for installing VTest
4293 - CLEANUP: ssl: Fix coverity issues found in CA file hot update code
4294 - CI: github actions: add OpenTracing builds
4295 - BUG/MEDIUM: ebtree: Invalid read when looking for dup entry
4296 - BUG/MAJOR: server: prevent deadlock when using 'set maxconn server'
4297 - BUILD/MINOR: opentracing: fixed build when using clang
4298 - BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter
4299 - BUG/MINOR: http-comp: Preserve HTTP_MSGF_COMPRESSIONG flag on the response
4300 - MINOR: map/acl: print the count of all the map/acl entries in "show map/acl"
4301 - CLEANUP: pattern: remove export of non-existent function pattern_delete()
4302 - MINOR: h1-htx: Update h1 parsing functions to return result as a size_t
4303 - MEDIUM: h1-htx: Adapt H1 data parsing to copy wrapping data in one call
4304 - MINOR: mux-h1/mux-fcgi: Don't needlessly loop on data parsing
4305 - MINOR: h1-htx: Move HTTP chunks parsing into a dedicated function
4306 - MEDIUM: h1-htx: Split function to parse a chunk and the loop on the buffer
4307 - MEDIUM: h1-htx: Add a function to parse contiguous small chunks
4308 - MINOR: h1-htx: Use a correlation table to speed-up small chunks parsing
4309 - MINOR: buf: Add function to realign a buffer with a specific head position
4310 - MINOR: muxes/h1-htx: Realign input buffer using b_slow_realign_ofs()
4311 - CLEANUP: mux-h1: Rename functions parsing input buf and filling output buf
4312 - Revert "MEDIUM: http-ana: Deal with L7 retries in HTTP analysers"
4313 - BUG/MINOR: http-ana: Send the right error if max retries is reached on L7 retry
4314 - BUG/MINOR: http-ana: Handle L7 retries on refused early data before K/A aborts
4315 - MINOR: http-ana: Perform L7 retries because of status codes in response analyser
4316 - MINOR: cfgparse: Fail when encountering extra arguments in macro
4317 - DOC: intro: Fix typo in starter guide
4318 - BUG/MINOR: server: Missing calloc return value check in srv_parse_source
4319 - BUG/MINOR: peers: Missing calloc return value check in peers_register_table
4320 - BUG/MINOR: ssl: Missing calloc return value check in ssl_init_single_engine
4321 - BUG/MINOR: http: Missing calloc return value check in parse_http_req_capture
4322 - BUG/MINOR: proxy: Missing calloc return value check in proxy_parse_declare
4323 - BUG/MINOR: proxy: Missing calloc return value check in proxy_defproxy_cpy
4324 - BUG/MINOR: http: Missing calloc return value check while parsing tcp-request/tcp-response
4325 - BUG/MINOR: http: Missing calloc return value check while parsing tcp-request rule
4326 - BUG/MINOR: compression: Missing calloc return value check in comp_append_type/algo
4327 - BUG/MINOR: worker: Missing calloc return value check in mworker_env_to_proc_list
4328 - BUG/MINOR: http: Missing calloc return value check while parsing redirect rule
4329 - BUG/MINOR: http: Missing calloc return value check in make_arg_list
4330 - BUG/MINOR: proxy: Missing calloc return value check in chash_init_server_tree
4331 - CLEANUP: http-ana: Remove useless if statement about L7 retries
4332 - BUG/MAJOR: stream-int: Release SI endpoint on server side ASAP on retry
4333 - MINOR: backend: Don't release SI endpoint anymore in connect_server()
4334 - BUG/MINOR: vars: Be sure to have a session to get checks variables
4335 - DOC/MINOR: move uuid in the configuration to the right alphabetical order
4336 - CLEANUP: mux-fcgi: Don't needlessly store result of data/trailers parsing
4337 - BUILD: fix compilation for OpenSSL-3.0.0-alpha17
4338 - MINOR: http-ana: Use -1 status for client aborts during queuing and connect
4339 - REGTESTS: Fix http_abortonclose.vtc to support -1 status for some client aborts
4340 - CLEANUP: backend: fix incorrect comments on locking conditions for lb functions
4341 - CLEANUP: reg-tests: Remove obsolete no-htx parameter for reg-tests
4342 - CI: github actions: add OpenSSL-3.0.0 builds
4343 - CI: github actions: -Wno-deprecated-declarations with OpenSSL 3.0.0
4344 - MINOR: errors: allow empty va_args for diag variadic macro
4345 - REORG: errors: split errors reporting function from log.c
4346 - CLEANUP: server: fix cosmetic of error message on sni parsing
4347 - MEDIUM: errors: implement user messages buffer
4348 - MINOR: log: do not discard stderr when starting is over
4349 - MEDIUM: errors: implement parsing context type
4350 - MINOR: errors: use user messages context in print_message
4351 - MINOR: log: display exec path on first warning
4352 - MINOR: errors: specify prefix "config" for parsing output
4353 - MINOR: log: define server user message format
4354 - REORG: server: use parsing ctx for server parsing
4355 - REORG: config: use parsing ctx for server config check
4356 - MINOR: server: use parsing ctx for server init addr
4357 - MINOR: server: use ha_alert in server parsing functions
4358 - DOC: use the req.ssl_sni in examples
4359 - CLEANUP: cfgparse: Remove duplication of `MAX_LINE_ARGS + 1`
4360 - CLEANUP: tools: Make errptr const in `parse_line()`
4361 - MINOR: haproxy: Add `-cc` argument
4362 - BUG: errors: remove printf positional args for user messages context
4363 - CI: Make matrix.py executable and add shebang
4364 - BUILD: make tune.ssl.keylog available again
4365 - BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future
4366 - Revert "BUG/MINOR: opentracing: initialization after establishing daemon mode"
4367 - BUG/MEDIUM: opentracing: initialization before establishing daemon and/or chroot mode
4368 - SCRIPTS: opentracing: enable parallel builds in build-ot.sh
4369 - BUG/MEDIUM: compression: Fix loop skipping unused blocks to get the next block
4370 - BUG/MEDIUM: compression: Properly get the next block to iterate on payload
4371 - BUG/MEDIUM: compression: Add a flag to know the filter is still processing data
4372 - MINOR: ssl: Keep the actual key length in the certificate_ocsp structure
4373 - MINOR: ssl: Add new "show ssl ocsp-response" CLI command
4374 - MINOR: ssl: Add the OCSP entry key when displaying the details of a certificate
4375 - MINOR: ssl: Add the "show ssl cert foo.pem.ocsp" CLI command
4376 - REGTESTS: ssl: Add "show ssl ocsp-response" test
4377 - BUG/MINOR: server: explicitly set "none" init-addr for dynamic servers
4378 - BUG/MINOR: pools: fix a possible memory leak in the lockless pool_flush()
4379 - BUG/MINOR: pools: make DEBUG_UAF always write to the to-be-freed location
4380 - MINOR: pools: do not maintain the lock during pool_flush()
4381 - MINOR: pools: call malloc_trim() under thread isolation
4382 - MEDIUM: pools: use a single pool_gc() function for locked and lockless
4383 - BUG/MAJOR: pools: fix possible race with free() in the lockless variant
4384 - CLEANUP: pools: remove now unused seq and pool_free_list
4385 - MEDIUM: pools: remove the locked pools implementation
4386 - BUILD: ssl: Fix compilation with BoringSSL
4387 - BUG/MEDIUM: errors: include missing obj_type file
4388 - REGTESTS: ssl: show_ssl_ocspresponce.vtc is broken with BoringSSL
4389 - BUG/MAJOR: htx: Fix htx_defrag() when an HTX block is expanded
4390 - BUG/MINOR: mux-fcgi: Expose SERVER_SOFTWARE parameter by default
4391 - BUG/MINOR: h1-htx: Fix a signess bug with char data type when parsing chunk size
4392 - CLEANUP: l7-retries: do not test the buffer before calling b_alloc()
4393 - BUG/MINOR: resolvers: answser item list was randomly purged or errors
4394 - MEDIUM: resolvers: add a ref on server to the used A/AAAA answer item
4395 - MEDIUM: resolvers: add a ref between servers and srv request or used SRV record
4396 - BUG/MINOR: server-state: load SRV resolution only if params match the config
4397 - MINOR: config: remove support for deprecated option "tune.chksize"
4398 - MINOR: config: completely remove support for "no option http-use-htx"
4399 - MINOR: log: remove the long-deprecated early log-format tags
4400 - MINOR: http: remove the long deprecated "set-cookie()" sample fetch function
4401 - MINOR: config: reject long-deprecated "option forceclose"
4402 - MINOR: config: remove deprecated option "http-tunnel"
4403 - MEDIUM: proxy: remove the deprecated "grace" keyword
4404 - MAJOR: config: remove parsing of the global "nbproc" directive
4405 - BUILD: init: remove initialization of multi-process thread mappings
4406 - BUILD: log: remove unused fmt_directive()
4407 - REGTESTS: Remove REQUIRE_VERSION=1.6 from all tests
4408 - REGTESTS: Remove REQUIRE_VERSION=1.7 from all tests
4409 - CI: github actions: enable alpine/musl builds
4410 - BUG/MAJOR: resolvers: segfault using server template without SRV RECORDs
4411 - DOC: lua: Add a warning about buffers modification in HTTP
4412 - MINOR: ssl: Use OpenSSL's ASN1_TIME convertor when available
4413 - BUG/MINOR: stick-table: insert srv in used_name tree even with fixed id
4414 - BUG/MEDIUM: server: extend thread-isolate over much of CLI 'add server'
4415 - BUG/MEDIUM: server: clear dynamic srv on delete from proxy id/name trees
4416 - BUG/MEDIUM: server: do not forget to generate the dynamic servers ids
4417 - BUG/MINOR: server: do not keep an invalid dynamic server in px ids tree
4418 - BUG/MEDIUM: server: do not auto insert a dynamic server in px addr_node
4419 - BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE
4420 - BUG/MINOR: ssl: use atomic ops to update global shctx stats
4421 - BUG/MINOR: mworker: fix typo in chroot error message
4422 - CLEANUP: global: remove unused definition of stopping_task[]
4423 - MEDIUM: init: remove the loop over processes during init
4424 - MINOR: mworker: remove the initialization loop over processes
4425 - CLEANUP: global: remove the nbproc field from the global structure
4426 - CLEANUP: global: remove pid_bit and all_proc_mask
4427 - MEDIUM: global: remove dead code from nbproc/bind_proc removal
4428 - MEDIUM: config: simplify cpu-map handling
4429 - MEDIUM: cpu-set: make the proc a single bit field and not an array
4430 - CLEANUP: global: remove unused definition of MAX_PROCS
4431 - MEDIUM: global: remove the relative_pid from global and mworker
4432 - DOC: update references to process numbers in cpu-map and bind-process
4433 - MEDIUM: config: warn about "bind-process" deprecation
4434 - CLEANUP: shctx: remove the different inter-process locking techniques
4435 - BUG/MAJOR: queue: set SF_ASSIGNED when setting strm->target on dequeue
4436 - MINOR: backend: only skip LB when there are actual connections
4437 - BUG/MINOR: mux-h1: do not skip the error response on bad requests
4438 - MINOR: connection: add helper conn_append_debug_info()
4439 - MINOR: mux-h2/trace: report a few connection-level info during h2_init()
4440 - CLEANUP: mux-h2/traces: better align user messages
4441 - BUG/MINOR: stats: make "show stat typed desc" work again
4442 - MINOR: mux-h2: obey http-ignore-probes during the preface
4443 - BUG/MINOR: mux-h2/traces: bring back the lost "rcvd H2 REQ" trace
4444 - BUG/MINOR: mux-h2/traces: bring back the lost "sent H2 REQ/RES" traces
4445 - CLEANUP: assorted typo fixes in the code and comments
4446 - CI: Replace the requirement for 'sudo' with a call to 'ulimit -n'
4447 - REGTESTS: Replace REQUIRE_VERSION=2.5 with 'haproxy -cc'
4448 - REGTESTS: Replace REQUIRE_OPTIONS with 'haproxy -cc' for 2.5+ tests
4449 - REGTESTS: Replace REQUIRE_BINARIES with 'command -v'
4450 - REGTESTS: Remove support for REQUIRE_BINARIES
4451 - CI: ssl: enable parallel builds for OpenSSL on Linux
4452 - CI: ssl: do not needlessly build the OpenSSL docs
4453 - CI: ssl: keep the old method for ancient OpenSSL versions
4454 - CLEANUP: server: a separate function for initializing the per_thr field
4455 - BUG/MINOR: server: Forbid to set fqdn on the CLI if SRV resolution is enabled
4456 - BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI
4457 - MINOR: resolvers: Clean server in a dedicated function when removing a SRV item
4458 - MINOR: resolvers: Remove server from named_servers tree when removing a SRV item
4459 - BUG/MEDIUM: resolvers: Add a task on servers to check SRV resolution status
4460 - BUG/MINOR: backend: restore the SF_SRV_REUSED flag original purpose
4461 - BUG/MINOR: backend: do not set sni on connection reuse
4462 - BUG/MINOR: resolvers: Use resolver's lock in resolv_srvrq_expire_task()
4463 - BUG/MINOR: server/cli: Fix locking in function processing "set server" command
4464 - BUG/MINOR: cache: Correctly handle existing-but-empty 'accept-encoding' header
4465 - MINOR: ssl: fix typo in usage for 'new ssl ca-file'
4466 - MINOR: ssl: always initialize random generator
4467 - MINOR: ssl: check allocation in ssl_sock_init_srv
4468 - MINOR: ssl: check allocation in parse ciphers/ciphersuites/verifyhost
4469 - MINOR: ssl: check allocation in parse npn/sni
4470 - MINOR: server: disable CLI 'set server ssl' for dynamic servers
4471 - MINOR: ssl: render file-access optional on server crt loading
4472 - MINOR: ssl: split parse functions for alpn/check-alpn
4473 - MINOR: ssl: support ca-file arg for dynamic servers
4474 - MINOR: ssl: support crt arg for dynamic servers
4475 - MINOR: ssl: support crl arg for dynamic servers
4476 - MINOR: ssl: enable a series of ssl keywords for dynamic servers
4477 - MINOR: ssl: support ssl keyword for dynamic servers
4478 - REGTESTS: server: test ssl support for dynamic servers
4479 - MINOR: queue: update the stream's pend_pos before queuing it
4480 - CLEANUP: Prevent channel-t.h from being detected as C++ by GitHub
4481 - BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check
4482 - REGTESTS: fix maxconn update with agent-check
4483 - MEDIUM: queue: make pendconn_process_next_strm() only return the pendconn
4484 - MINOR: queue: update proxy->served once out of the loop
4485 - MEDIUM: queue: refine the locking in process_srv_queue()
4486 - MINOR: lb/api: remove the locked argument from take_conn/drop_conn
4487 - MINOR: queue: create a new structure type "queue"
4488 - MINOR: proxy: replace the pendconns-related stuff with a struct queue
4489 - MINOR: server: replace the pendconns-related stuff with a struct queue
4490 - MEDIUM: queue: use a dedicated lock for the queues
4491 - MEDIUM: queue: simplify again the process_srv_queue() API
4492 - MINOR: queue: factor out the proxy/server queuing code
4493 - MINOR: queue: use atomic-ops to update the queue's index
4494 - MEDIUM: queue: determine in process_srv_queue() if the proxy is usable
4495 - MEDIUM: queue: move the queue lock manipulation to pendconn_process_next_strm()
4496 - MEDIUM: queue: unlock as soon as possible
4497 - MINOR: queue: make pendconn_first() take the lock by itself
4498 - CLEANUP: backend: remove impossible case of round-robin + consistent hash
4499 - MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules
4500 - DOC: config: Add missing actions in "tcp-request session" documentation
4501 - CLEANUP: dns: Remove a forgotten debug message
4502 - DOC: Replace issue templates by issue forms
4503 - Revert "MINOR: queue: make pendconn_first() take the lock by itself"
4504 - Revert "MEDIUM: queue: unlock as soon as possible"
4505 - Revert "MEDIUM: queue: move the queue lock manipulation to pendconn_process_next_strm()"
4506 - Revert "MEDIUM: queue: determine in process_srv_queue() if the proxy is usable"
4507 - Revert "MINOR: queue: use atomic-ops to update the queue's index"
4508 - Revert "MINOR: queue: factor out the proxy/server queuing code"
4509 - Revert "MEDIUM: queue: simplify again the process_srv_queue() API"
4510 - Revert "MEDIUM: queue: use a dedicated lock for the queues"
4511 - Revert "MEDIUM: queue: refine the locking in process_srv_queue()"
4512 - Revert "MINOR: queue: update proxy->served once out of the loop"
4513 - Revert "MEDIUM: queue: make pendconn_process_next_strm() only return the pendconn"
4514 - MEDIUM: queue: update px->served and lb's take_conn once per loop
4515 - MEDIUM: queue: use a dedicated lock for the queues (v2)
4516 - MEDIUM: queue: simplify again the process_srv_queue() API (v2)
4517 - MEDIUM: queue: determine in process_srv_queue() if the proxy is usable (v2)
4518 - MINOR: queue: factor out the proxy/server queuing code (v2)
4519 - MINOR: queue: use atomic-ops to update the queue's index (v2)
4520 - MEDIUM: queue: take the proxy lock only during the px queue accesses
4521 - MEDIUM: queue: use a trylock on the server's queue
4522 - MINOR: queue: add queue_init() to initialize a queue
4523 - MINOR: queue: add a pointer to the server and the proxy in the queue
4524 - MINOR: queue: store a pointer to the queue into the pendconn
4525 - MINOR: queue: remove the px/srv fields from pendconn
4526 - MINOR: queue: simplify pendconn_unlink() regarding srv vs px
4527 - BUG: backend: stop looking for queued connections once there's no more
4528 - BUG/MINOR: queue/debug: use the correct lock labels on the queue lock
4529 - BUG/MINOR: resolvers: Always attach server on matching record on resolution
4530 - BUG/MINOR: resolvers: Reset server IP when no ip is found in the response
4531 - MINOR: resolvers: Reset server IP on error in resolv_get_ip_from_response()
4532 - BUG/MINOR: checks: return correct error code for srv_parse_agent_check
4533 - BUILD: Makefile: fix linkage for Haiku.
4534 - BUG/MINOR: tcpcheck: Fix numbering of implicit HTTP send/expect rules
4535 - MINOR: http-act/tcp-act: Add "set-log-level" for tcp content rules
4536 - MINOR: http-act/tcp-act: Add "set-nice" for tcp content rules
4537 - MINOR: http-act/tcp-act: Add "set-mark" and "set-tos" for tcp content rules
4538 - CLEANUP: tcp-act: Sort action lists
4539 - BUILD/MEDIUM: tcp: set-mark setting support for FreeBSD.
4540 - BUILD: tcp-act: avoid warning when set-mark / set-tos are not supported
4541 - BUG/MINOR: mqtt: Fix parser for string with more than 127 characters
4542 - BUG/MINOR: mqtt: Support empty client ID in CONNECT message
4543 - BUG/MEDIUM: resolvers: Make 1st server of a template take part to SRV resolution
4544 - CLEANUP: peers: re-write intdecode function comment.
4545
4546 2021/05/14 : 2.5-dev0
4547 - MINOR: version: it's development again
4548
4549 2021/05/14 : 2.4.0
4550 - BUG/MINOR: http_fetch: fix possible uninit sockaddr in fetch_url_ip/port
4551 - CLEANUP: cli/activity: Remove double spacing in set profiling command
4552 - CI: Build VTest with clang
4553 - CI: extend spellchecker whitelist, add "ists" as well
4554 - CLEANUP: assorted typo fixes in the code and comments
4555 - BUG/MINOR: memprof: properly account for differences for realloc()
4556 - MINOR: memprof: also report the method used by each call
4557 - MINOR: memprof: also report the totals and delta alloc-free
4558 - CLEANUP: pattern: remove the unused and dangerous pat_ref_reload()
4559 - BUG/MINOR: http_act: Fix normalizer names in error messages
4560 - MINOR: uri_normalizer: Add `fragment-strip` normalizer
4561 - MINOR: uri_normalizer: Add `fragment-encode` normalizer
4562 - IMPORT: slz: use the generic function for the last bytes of the crc32
4563 - IMPORT: slz: do not produce the crc32_fast table when CRC is natively supported
4564 - BUILD/MINOR: opentracing: fixed compilation with filter enabled
4565 - BUILD: makefile: add a few popular ARMv8 CPU targets
4566 - BUG/MEDIUM: stick_table: fix crash when using tcp smp_fetch_src
4567 - REGTESTS: stick-table: add src_conn_rate test
4568 - CLEANUP: stick-table: remove a leftover of an old keyword declaration
4569 - BUG/MINOR: stats: fix lastchk metric that got accidently lost
4570 - EXAMPLES: add a "basic-config-edge" example config
4571 - EXAMPLES: add a trivial config for quick testing
4572 - DOC: management: Correct example reload command in the document
4573 - Revert "CI: Build VTest with clang"
4574 - MINOR: activity/cli: optionally support sorting by address on "show profiling"
4575 - DEBUG: ssl: export ssl_sock_close() to see its symbol resolved in profiling
4576 - BUG/MINOR: lua/vars: prevent get_var() from allocating a new name
4577 - DOC: config: Fix configuration example for mqtt
4578 - BUG/MAJOR: config: properly initialize cpu_map.thread[] up to MAX_THREADS
4579 - BUILD: config: avoid a build warning on numa_detect_topology() without threads
4580 - DOC: update min requirements in INSTALL
4581 - IMPORT: slz: use inttypes.h instead of stdint.h
4582 - BUILD: sample: use strtoll() instead of atoll()
4583 - MINOR: version: mention that it's LTS now.
4584
4585 2021/05/10 : 2.4-dev19
4586 - BUG/MINOR: hlua: Don't rely on top of the stack when using Lua buffers
4587 - BUG/MEDIUM: cli: prevent memory leak on write errors
4588 - BUG/MINOR: ssl/cli: fix a lock leak when no memory available
4589 - MINOR: debug: add a new "debug dev sym" command in expert mode
4590 - MINOR: pools/debug: slightly relax DEBUG_DONT_SHARE_POOLS
4591 - CI: Github Actions: switch to LibreSSL-3.3.3
4592 - MINOR: srv: close all idle connections on shutdown
4593 - MINOR: connection: move session_list member in a union
4594 - MEDIUM: mux_h1: release idling frontend conns on soft-stop
4595 - MEDIUM: connection: close front idling connection on soft-stop
4596 - MINOR: tools: add functions to retrieve the address of a symbol
4597 - CLEANUP: activity: mark the profiling and task_profiling_mask __read_mostly
4598 - MINOR: activity: add a "memory" entry to "profiling"
4599 - MINOR: activity: declare the storage for memory usage statistics
4600 - MEDIUM: activity: collect memory allocator statistics with USE_MEMORY_PROFILING
4601 - MINOR: activity: clean up the show profiling io_handler a little bit
4602 - MINOR: activity: make "show profiling" support a few arguments
4603 - MINOR: activity: make "show profiling" also dump the memoery usage
4604 - MINOR: activity: add the profiling.memory global setting
4605 - BUILD: makefile: add new option USE_MEMORY_PROFILING
4606 - MINOR: channel: Rely on HTX version if appropriate in channel_may_recv()
4607 - BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive
4608 - MINOR: conn-stream: Force mux to wait for read events if abortonclose is set
4609 - MEDIUM: mux-h1: Don't block reads when waiting for the other side
4610 - BUG/MEDIUM: mux-h1: Properly report client close if abortonclose option is set
4611 - REGTESTS: Add script to test abortonclose option
4612 - MINOR: mux-h1: clean up conditions to enabled and disabled splicing
4613 - MINOR: mux-h1: Subscribe for sends if output buffer is not empty in h1_snd_pipe
4614 - MINOR: mux-h1: Always subscribe for reads when splicing is disabled
4615 - MEDIUM: mux-h1: Wake H1 stream when both sides a synchronized
4616 - CLEANUP: mux-h1: rename WAIT_INPUT/WAIT_OUTPUT flags
4617 - MINOR: mux-h1: Manage processing blocking flags on the H1 stream
4618 - BUG/MINOR: stream: Decrement server current session counter on L7 retry
4619 - BUG/MINOR: config: fix uninitialized initial state in ".if" block evaluator
4620 - BUG/MINOR: config: add a missing "ELIF_TAKE" test for ".elif" condition evaluator
4621 - BUG/MINOR: config: .if/.elif should also accept negative integers
4622 - MINOR: config: centralize the ".if"/".elif" condition parser and evaluator
4623 - MINOR: config: keep up-to-date current file/line/section in the global struct
4624 - MINOR: config: support some pseudo-variables for file/line/section
4625 - BUILD: activity: do not include malloc.h
4626 - MINOR: arg: improve the error message on missing closing parenthesis
4627 - MINOR: global: export the build features string list
4628 - MINOR: global: add version comparison functions
4629 - MINOR: config: improve .if condition error reporting
4630 - MINOR: config: make cfg_eval_condition() support predicates with arguments
4631 - MINOR: config: add predicate "defined()" to conditional expression blocks
4632 - MINOR: config: add predicates "streq()" and "strneq()" to conditional expressions
4633 - MINOR: config: add predicate "feature" to detect certain built-in features
4634 - MINOR: config: add predicates "version_atleast" and "version_before" to cond blocks
4635 - BUG/MINOR: activity: use the new pointer to calculate the new size in realloc()
4636 - BUG/MINOR: stream: properly clear the previous error mask on L7 retries
4637 - MEDIUM: log: slightly refine the output format of alerts/warnings/etc
4638 - MINOR: config: add a new message directive: .diag
4639 - CLEANUP: cli/tree-wide: properly re-align the CLI commands' help messages
4640 - BUG/MINOR: stream: Reset stream final state and si error type on L7 retry
4641 - BUG/MINOR: checks: Handle synchronous connect when a tcpcheck is started
4642 - BUG/MINOR: checks: Reschedule check on observe mode only if fastinter is set
4643 - MINOR: global: define tainted flag
4644 - MINOR: cfgparse: add a new field flags in cfg_keyword
4645 - MINOR: cfgparse: implement experimental config keywords
4646 - MINOR: action: replace match_pfx by a keyword flags field
4647 - MINOR: action: implement experimental actions
4648 - MINOR: cli: set tainted when using CLI expert/experimental mode
4649 - MINOR: stats: report tainted on show info
4650 - MINOR: http_act: mark normalize-uri as experimental
4651 - BUILD: fix usage of ha_alert without format string
4652 - MINOR: proxy: define PR_CAP_LB
4653 - BUG/MINOR: server: do not report diag for peer servers with null weight
4654 - DOC: ssl: Extra files loading now works for backends too
4655 - ADDONS: make addons/ discoverable by git via .gitignore
4656 - DOC: ssl: Add information about crl-file option
4657 - MINOR: sample: improve error reporting on missing arg to strcmp() converter
4658 - DOC: management: mention that some fields may be emitted as floats
4659 - MINOR: tools: implement trimming of floating point numbers
4660 - MINOR: tools: add a float-to-ascii conversion function
4661 - MINOR: freq_ctr: add new functions to report float measurements
4662 - MINOR: stats: avoid excessive padding of float values with trailing zeroes
4663 - MINOR: stats: add the HTML conversion for float types
4664 - MINOR: stats: pass the appctx flags to stats_fill_info()
4665 - MINOR: stats: support an optional "float" option to "show info"
4666 - MINOR: stats: use tv_remain() to precisely compute the uptime
4667 - MINOR: stats: report uptime and start time as floats with subsecond resolution
4668 - MINOR: stats: make "show info" able to report rates as floats when asked
4669 - MINOR: config: mark tune.fd.edge-triggered as experimental
4670 - REORG: vars: move the "proc" scope variables out of the global struct
4671 - REORG: threads: move all_thread_mask() to thread.h
4672 - BUILD: wdt: include signal-t.h
4673 - BUILD: auth: include missing list.h
4674 - REORG: mworker: move proc_self from global to mworker
4675 - BUILD: ssl: ssl_utils requires chunk.h
4676 - BUILD: config: cfgparse-ssl.c needs tools.h
4677 - BUILD: wurfl: wurfl.c needs tools.h
4678 - BUILD: spoe: flt_spoe.c needs tools.h
4679 - BUILD: promex: service-prometheus.c needs tools.h
4680 - BUILD: resolvers: include tools.h
4681 - BUILD: config: include tools.h in cfgparse-listen.c
4682 - BUILD: htx: include tools.h in http_htx.c
4683 - BUILD: proxy: include tools.h in proxy.c
4684 - BUILD: session: include tools.h in session.c
4685 - BUILD: cache: include tools.h in cache.c
4686 - BUILD: sink: include tools.h in sink.c
4687 - BUILD: connection: include tools.h in connection.c
4688 - BUILD: server-state: include tools.h from server_state.c
4689 - BUILD: dns: include tools.h in dns.c
4690 - BUILD: payload: include tools.h in payload.c
4691 - BUILD: vars: include tools.h in vars.c
4692 - BUILD: compression: include tools.h in compression.c
4693 - BUILD: mworker: include tools.h from mworker.c
4694 - BUILD: queue: include tools.h from queue.c
4695 - BUILD: udp: include tools.h from proto_udp.c
4696 - BUILD: stick-table: include freq_ctr.h from stick_table.h
4697 - BUILD: server: include tools.h from server.c
4698 - BUILD: server: include missing proxy.h in server.c
4699 - BUILD: sink: include proxy.h in sink.c
4700 - BUILD: mworker: include proxy.h in mworker.c
4701 - BUILD: filters: include proxy.h in filters.c
4702 - BUILD: fcgi-app: include proxy.h in fcgi-app.c
4703 - BUILD: connection: move list_mux_proto() to connection.c
4704 - REORG: stick-table: uninline stktable_alloc_data_type()
4705 - REORG: stick-table: move composite address functions to stick_table.h
4706 - REORG: config: uninline warnifnotcap() and failifnotcap()
4707 - BUILD: task: remove unused includes from task.c
4708 - MINOR: task: stop including stream.h from task.c
4709 - BUILD: connection: stop including listener-t.h
4710 - BUILD: hlua: include proxy.h from hlua.c
4711 - BUILD: mux-h1: include proxy.h from mux-h1.c
4712 - BUILD: mux-fcgi: include proxy.h from mux-fcgi.c
4713 - BUILD: listener: include proxy.h from listener.c
4714 - BUILD: http-rules: include proxy.h from http_rules.c
4715 - BUILD: thread: include log.h from thread.c
4716 - BUILD: comp: include proxy.h from flt_http_comp.c
4717 - BUILD: fd: include log.h from fd.c
4718 - BUILD: config: do not include proxy.h nor errors.h anymore in cfgparse.h
4719 - BUILD: makefile: reorder object files by build time
4720 - DOC: Fix a few grammar/spelling issues and casing of HAProxy
4721 - REGTESTS: run-regtests: match both "HAProxy" and "HA-Proxy" in the version
4722 - MINOR: version: report "HAProxy" not "HA-Proxy" in the version output
4723 - DOC: remove last occurrences of "HA-Proxy" syntax
4724 - DOC: peers: fix the protocol tag name in the doc
4725 - ADMIN: netsnmp: report "HAProxy" and not "Haproxy" in output descriptions
4726 - MEDIUM: mailers: use "HAProxy" nor "HAproxy" in the subject of messages
4727 - DOC: fix a few remainig cases of "Haproxy" and "HAproxy" in doc and comments
4728 - MINOR: tools/rnd: compute the result outside of the CAS loop
4729 - BUILD: http_fetch: address a few aliasing warnings with older compilers
4730 - BUILD: ssl: define HAVE_CRYPTO_memcmp() based on the library version
4731 - BUILD: errors: include stdarg in errors.h
4732 - REGTESTS: disable inter-thread idle connection sharing on sensitive tests
4733 - MINOR: cli: make "help" support a command in argument
4734 - MINOR: cli: sort the output of the "help" keywords
4735 - CLEANUP: cli/mworker: properly align the help messages
4736 - BUILD: memprof: make the old caller pointer a const in get_prof_bin()
4737 - BUILD: compat: include malloc_np.h for USE_MEMORY_PROFILING on FreeBSD
4738 - CI: Github Actions: enable USE_QUIC=1 for BoringSSL builds
4739 - BUG/MEDIUM: quic: fix null deref on error path in qc_conn_init()
4740 - BUILD: cli: appease a null-deref warning in cli_gen_usage_msg()
4741
4742 2021/05/01 : 2.4-dev18
4743 - DOC: Fix indentation for `path-strip-dot` normalizer
4744 - DOC: Fix RFC reference for the percent-to-uppercase normalizer
4745 - DOC: Add RFC references for the path-strip-dot(dot)? normalizers
4746 - MINOR: uri_normalizer: Add a `percent-decode-unreserved` normalizer
4747 - BUG/MINOR: mux-fcgi: Don't send normalized uri to FCGI application
4748 - REORG: htx: Inline htx functions to add HTX blocks in a message
4749 - CLEANUP: assorted typo fixes in the code and comments
4750 - DOC: general: fix white spaces for HTML converter
4751 - BUG/MINOR: ssl: ssl_sock_prepare_ssl_ctx does not return an error code
4752 - BUG/MINOR: cpuset: move include guard at the very beginning
4753 - BUG/MAJOR: fix build on musl with cpu_set_t support
4754 - BUG/MEDIUM: cpuset: fix build on MacOS
4755 - BUG/MINOR: htx: Preserve HTX flags when draining data from an HTX message
4756 - MEDIUM: htx: Refactor htx_xfer_blks() to not rely on hdrs_bytes field
4757 - CLEANUP: htx: Remove unsued hdrs_bytes field from the HTX start-line
4758 - BUG/MINOR: mux-h2: Don't encroach on the reserve when decoding headers
4759 - MEDIUM: http-ana: handle read error on server side if waiting for response
4760 - MINOR: htx: Limit length of headers name/value when a HTX message is dumped
4761 - BUG/MINOR: applet: Notify the other side if data were consumed by an applet
4762 - BUG/MINOR: hlua: Don't consume headers when starting an HTTP lua service
4763 - BUG/MEDIUM: mux-h2: Handle EOM flag when sending a DATA frame with zero-copy
4764 - CLEANUP: channel: No longer notify the producer in co_skip()/co_htx_skip()
4765 - DOC: general: fix example in set-timeout
4766 - CLEANUP: cfgparse: de-uglify early file error handling in readcfgfile()
4767 - MINOR: config: add a new "default-path" global directive
4768 - BUG/MEDIUM: peers: initialize resync timer to get an initial full resync
4769 - BUG/MEDIUM: peers: register last acked value as origin receiving a resync req
4770 - BUG/MEDIUM: peers: stop considering ack messages teaching a full resync
4771 - BUG/MEDIUM: peers: reset starting point if peers appears longly disconnected
4772 - BUG/MEDIUM: peers: reset commitupdate value in new conns
4773 - BUG/MEDIUM: peers: re-work updates lookup during the sync on the fly
4774 - BUG/MEDIUM: peers: reset tables stage flags stages on new conns
4775 - MINOR: peers: add informative flags about resync process for debugging
4776 - BUG/MEDIUM: time: fix updating of global_now upon clock drift
4777 - CLEANUP: freq_ctr: make arguments of freq_ctr_total() const
4778 - CLEANUP: hlua: rename hlua_appctx* appctx to luactx
4779 - MINOR: server: fix doc/trace on lb algo for dynamic server creation
4780 - REGTESTS: server: fix cli_add_server due to previous trace update
4781 - REGTESTS: add minimal CLI "add map" tests
4782 - DOC: management: move "set var" to the proper place
4783 - CLEANUP: map: slightly reorder the add map function
4784 - MINOR: map: get rid of map_add_key_value()
4785 - MINOR: map: show the current and next pattern version in "show map"
4786 - MINOR: map/acl: add the possibility to specify the version in "show map/acl"
4787 - MINOR: pattern: support purging arbitrary ranges of generations
4788 - MINOR: map/acl: add the possibility to specify the version in "clear map/acl"
4789 - MINOR: map/acl: add the "prepare map/acl" CLI command
4790 - MINOR: map/acl: add the "commit map/acl" CLI command
4791 - MINOR: map/acl: make "add map/acl" support an optional version number
4792 - CLEANUP: map/cli: properly align the map/acl help
4793 - BUILD: compiler: do not use already defined __read_mostly on dragonfly
4794
4795 2021/04/23 : 2.4-dev17
4796 - MINOIR: mux-pt/trace: Register a new trace source with its events
4797 - BUG/MINOR: mux-pt: Fix a possible UAF because of traces in mux_pt_io_cb
4798 - CI: travis: Drastically clean up .travis.yml
4799 - CLEANUP: pattern: make all pattern tables read-only
4800 - MINOR: trace: replace the trace() inline function with an equivalent macro
4801 - MINOR: initcall: uniformize the section names between MacOS and other unixes
4802 - CLEANUP: initcall: rename HA_SECTION to HA_INIT_SECTION
4803 - MINOR: compiler: add macros to declare section names
4804 - CLEANUP: initcall: rely on HA_SECTION_* instead of defining its own
4805 - MINOR: global: declare a read_mostly section
4806 - MINOR: fd: move a few read-mostly variables to their own section
4807 - MINOR: epoll: move epoll_fd to read_mostly
4808 - MINOR: kqueue: move kqueue_fd to read_mostly
4809 - MINOR: pool: move pool declarations to read_mostly
4810 - MINOR: threads: mark all_threads_mask as read_mostly
4811 - MINOR: server: move idle_conn_task to read_mostly
4812 - MINOR: protocol: move __protocol_by_family to read_mostly
4813 - MINOR: pattern: make the pat_lru_seed read_mostly
4814 - MINOR: trace: make trace sources read_mostly
4815 - MINOR: freq_ctr: add a generic function to report the total value
4816 - MEDIUM: freq_ctr: make read_freq_ctr_period() use freq_ctr_total()
4817 - MEDIUM: freq_ctr: reimplement freq_ctr_remain_period() from freq_ctr_total()
4818 - MINOR: freq_ctr: add the missing next_event_delay_period()
4819 - MINOR: freq_ctr: unify freq_ctr and freq_ctr_period into freq_ctr
4820 - MEDIUM: freq_ctr: replace the per-second counters with the generic ones
4821 - MINOR: freq_ctr: add cpu_relax in the rotation loop of update_freq_ctr_period()
4822 - MINOR: freq_ctr: simplify and improve the update function
4823 - CLEANUP: time: remove the now unused ms_left_scaled
4824 - MINOR: time: move the time initialization out of tv_update_date()
4825 - MINOR: time: remove useless variable copies in tv_update_date()
4826 - MINOR: time: change the global timeval and the the global tick at once
4827 - MEDIUM: time: make the clock offset global and no per-thread
4828 - MINOR: atomic: reimplement the relaxed version of x86 BTS/BTR
4829 - MINOR: trace: Add the checks as a possible trace source
4830 - MINOIR: checks/trace: Register a new trace source with its events
4831 - MINOR: hlua: Add function to release a lua function
4832 - BUG/MINOR: hlua: Fix memory leaks on error path when registering a task
4833 - BUG/MINOR: hlua: Fix memory leaks on error path when registering a converter
4834 - BUG/MINOR: hlua: Fix memory leaks on error path when registering a fetch
4835 - BUG/MINOR: hlua: Fix memory leaks on error path when parsing a lua action
4836 - BUG/MINOR: hlua: Fix memory leaks on error path when registering an action
4837 - BUG/MINOR: hlua: Fix memory leaks on error path when registering a service
4838 - BUG/MINOR: hlua: Fix memory leaks on error path when registering a cli keyword
4839 - BUG/MINOR: cfgparse/proxy: Fix some leaks during proxy section parsing
4840 - BUG/MINOR: listener: Handle allocation error when allocating a new bind_conf
4841 - BUG/MINOR: cfgparse/proxy: Hande allocation errors during proxy section parsing
4842 - MINOR: cfgparse/proxy: Group alloc error handling during proxy section parsing
4843 - DOC: internals: update the SSL architecture schema
4844 - BUG/MEDIUM: sample: Fix adjusting size in field converter
4845 - MINOR: sample: add ub64dec and ub64enc converters
4846 - CLEANUP: sample: align samples list in sample.c
4847 - MINOR: ist: Add `istclear(struct ist*)`
4848 - CI: cirrus: install "pcre" package
4849 - MINOR: opentracing: correct calculation of the number of arguments in the args[]
4850 - MINOR: opentracing: transfer of context names without prefix
4851 - MINOR: sample: converter: Add mjson library.
4852 - MINOR: sample: converter: Add json_query converter
4853 - CI: travis-ci: enable weekly graviton2 builds
4854 - DOC: ssl: Certificate hot update only works on fronted certificates
4855 - DOC: ssl: Certificate hot update works on server certificates
4856 - BUG/MEDIUM: threads: Ignore current thread to end its harmless period
4857 - MINOR: threads: Only consider running threads to end a thread harmeless period
4858 - BUG/MINOR: checks: Set missing id to the dummy checks frontend
4859 - MINOR: logs: Add support of checks as session origin to format lf strings
4860 - BUG/MINOR: connection: Fix fc_http_major and bc_http_major for TCP connections
4861 - MINOR: connection: Make bc_http_major compatible with tcp-checks
4862 - BUG/MINOR: ssl-samples: Fix ssl_bc_* samples when called from a health-check
4863 - BUG/MINOR: http-fetch: Make method smp safe if headers were already forwarded
4864 - MINOR: tcp_samples: Add samples to get src/dst info of the backend connection
4865 - MINOR: tcp_samples: Be able to call bc_src/bc_dst from the health-checks
4866 - BUG/MINOR: http_htx: Remove BUG_ON() from http_get_stline() function
4867 - BUG/MINOR: logs: Report the true number of retries if there was no connection
4868 - BUILD: makefile: Redirect stderr to /dev/null when probing options
4869 - MINOR: uri_normalizer: Add uri_normalizer module
4870 - MINOR: uri_normalizer: Add `enum uri_normalizer_err`
4871 - MINOR: uri_normalizer: Add `http-request normalize-uri`
4872 - MINOR: uri_normalizer: Add a `merge-slashes` normalizer to http-request normalize-uri
4873 - MINOR: uri_normalizer: Add a `dotdot` normalizer to http-request normalize-uri
4874 - MINOR: uri_normalizer: Add support for supressing leading `../` for dotdot normalizer
4875 - MINOR: uri_normalizer: Add a `sort-query` normalizer
4876 - MINOR: uri_normalizer: Add a `percent-upper` normalizer
4877 - MEDIUM: http_act: Rename uri-normalizers
4878 - DOC: Add introduction to http-request normalize-uri
4879 - DOC: Note that URI normalization is experimental
4880 - BUG/MINOR: pools: maintain consistent ->allocated count on alloc failures
4881 - BUG/MINOR: pools/buffers: make sure to always reserve the required buffers
4882 - MINOR: pools: drop the unused static history of artificially failed allocs
4883 - CLEANUP: pools: remove unused arguments to pool_evict_from_cache()
4884 - MEDIUM: pools: move the cache into the pool header
4885 - MINOR: pool: remove the size field from pool_cache_head
4886 - MINOR: pools: rename CONFIG_HAP_LOCAL_POOLS to CONFIG_HAP_POOLS
4887 - MINOR: pools: enable the fault injector in all allocation modes
4888 - MINOR: pools: make the basic pool_refill_alloc()/pool_free() update needed_avg
4889 - MEDIUM: pools: unify pool_refill_alloc() across all models
4890 - CLEANUP: pools: re-merge pool_refill_alloc() and __pool_refill_alloc()
4891 - MINOR: pools: call pool_alloc_nocache() out of the pool's lock
4892 - CLEANUP: pools: move the lock to the only __pool_get_first() that needs it
4893 - CLEANUP: pools: rename __pool_get_first() to pool_get_from_shared_cache()
4894 - CLEANUP: pools: rename pool_*_{from,to}_cache() to *_local_cache()
4895 - CLEANUP: pools: rename __pool_free() to pool_put_to_shared_cache()
4896 - MINOR: tools: add statistical_prng_range() to get a random number over a range
4897 - MINOR: pools: use cheaper randoms for fault injections
4898 - MINOR: pools: move the fault injector to __pool_alloc()
4899 - MINOR: pools: split the OS-based allocator in two
4900 - MINOR: pools: always use atomic ops to maintain counters
4901 - MINOR: pools: move pool_free_area() out of the lock in the locked version
4902 - MINOR: pools: factor the release code into pool_put_to_os()
4903 - MEDIUM: pools: make CONFIG_HAP_POOLS control both local and shared pools
4904 - MINOR: pools: create unified pool_{get_from,put_to}_cache()
4905 - MINOR: pools: evict excess objects using pool_evict_from_local_cache()
4906 - MEDIUM: pools: make pool_put_to_cache() always call pool_put_to_local_cache()
4907 - CLEANUP: pools: make the local cache allocator fall back to the shared cache
4908 - CLEANUP: pools: merge pool_{get_from,put_to}_local_caches with generic ones
4909 - CLEANUP: pools: uninline pool_put_to_cache()
4910 - CLEANUP: pools: declare dummy pool functions to remove some ifdefs
4911 - BUILD: pools: fix build with DEBUG_FAIL_ALLOC
4912 - BUG/MINOR: server: make srv_alloc_lb() allocate lb_nodes for consistent hash
4913 - CONTRIB: mod_defender: import the minimal number of includes
4914 - CONTRIB: mod_defender: make the code build with the embedded includes
4915 - CONTRIB: modsecurity: import the minimal number of includes
4916 - CONTRIB: modsecurity: make the code build with the embedded includes
4917 - CLEANUP: sample: Improve local variables in sample_conv_json_query
4918 - CLEANUP: sample: Explicitly handle all possible enum values from mjson
4919 - CLEANUP: sample: Use explicit return for successful `json_query`s
4920 - CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion
4921 - CONTRIB: move spoa_example out of the tree
4922 - BUG/MINOR: server: free srv.lb_nodes in free_server
4923 - BUG/MINOR: logs: free logsrv.conf.file on exit
4924 - BUG/MEDIUM: server: ensure thread-safety of server runtime creation
4925 - MINOR: server: add log on dynamic server creation
4926 - MINOR: server: implement delete server cli command
4927 - CONTRIB: move spoa_server out of the tree
4928 - CONTRIB: move modsecurity out of the tree
4929 - BUG/MINOR: server: fix potential null gcc error in delete server
4930 - BUG/MAJOR: mux-h2: Properly detect too large frames when decoding headers
4931 - BUG/MEDIUM: mux-h2: Fix dfl calculation when merging CONTINUATION frames
4932 - BUG/MINOR: uri_normalizer: Use delim parameter when building the sorted query in uri_normalizer_query_sort
4933 - CLEANUP: uri_normalizer: Remove trailing whitespace
4934 - MINOR: uri_normalizer: Add a `strip-dot` normalizer
4935 - CONTRIB: move mod_defender out of the tree
4936 - CLEANUP: contrib: remove the last references to the now dead contrib/ directory
4937 - BUG/MEDIUM: config: fix cpu-map notation with both process and threads
4938 - MINOR: config: add a diag for invalid cpu-map statement
4939 - BUG/MINOR: mworker/init: don't reset nb_oldpids in non-mworker cases
4940 - BUG/MINOR: mworker: don't use oldpids[] anymore for reload
4941 - BUILD: makefile: fix the "make clean" target on strict bourne shells
4942 - IMPORT: slz: import slz into the tree
4943 - BUILD: compression: switch SLZ from out-of-tree to in-tree
4944 - CI: github: do not build libslz any more
4945 - CLEANUP: compression: remove calls to SLZ init functions
4946 - BUG/MEDIUM: mux-h2: Properly handle shutdowns when received with data
4947 - MINOR: cpuset: define a platform-independent cpuset type
4948 - MINOR: cfgparse: use hap_cpuset for parse_cpu_set
4949 - MEDIUM: config: use platform independent type hap_cpuset for cpu-map
4950 - MINOR: thread: implement the detection of forced cpu affinity
4951 - MINOR: cfgparse: support the comma separator on parse_cpu_set
4952 - MEDIUM: cfgparse: detect numa and set affinity if needed
4953 - MINOR: global: add option to disable numa detection
4954 - BUG/MINOR: haproxy: fix compilation on macOS
4955 - BUG/MINOR: cpuset: fix compilation on platform without cpu affinity
4956 - MINOR: time: avoid unneeded updates to now_offset
4957 - MINOR: time: avoid overwriting the same values of global_now
4958 - CLEANUP: time: use __tv_to_ms() in tv_update_date() instead of open-coding
4959 - MINOR: time: avoid u64 needlessly expensive computations for the 32-bit now_ms
4960 - BUG/MINOR: peers: remove useless table check if initial resync is finished
4961 - BUG/MEDIUM: peers: re-work connection to new process during reload.
4962 - BUG/MEDIUM: peers: re-work refcnt on table to protect against flush
4963 - BUG/MEDIUM: config: fix missing initialization in numa_detect_topology()
4964
4965 2021/04/09 : 2.4-dev16
4966 - CLEANUP: dev/flags: remove useless test in the stdin number parser
4967 - MINOR: No longer rely on deprecated sample fetches for predefined ACLs
4968 - MINOR: acl: Add HTTP_2.0 predefined macro
4969 - BUG/MINOR: hlua: Detect end of request when reading data for an HTTP applet
4970 - BUG/MINOR: tools: fix parsing "us" unit for timers
4971 - MINOR: server/bind: add support of new prefixes for addresses.
4972 - MINOR: log: register config file and line number on log servers.
4973 - MEDIUM: log: support tcp or stream addresses on log lines.
4974 - BUG/MEDIUM: log: fix config parse error logging on stdout/stderr or any raw fd
4975 - CLEANUP: fd: remove FD_POLL_DATA and FD_POLL_STICKY
4976 - MEDIUM: fd: prepare FD_POLL_* to move to bits 8-15
4977 - MEDIUM: fd: merge fdtab[].ev and state for FD_EV_* and FD_POLL_* into state
4978 - MINOR: fd: move .linger_risk into fdtab[].state
4979 - MINOR: fd: move .cloned into fdtab[].state
4980 - MINOR: fd: move .initialized into fdtab[].state
4981 - MINOR: fd: move .et_possible into fdtab[].state
4982 - MINOR: fd: move .exported into fdtab[].state
4983 - MINOR: fd: implement an exclusive syscall bit to remove the ugly "log" lock
4984 - MINOR: cli/show-fd: slightly reorganize the FD status flags
4985 - MINOR: atomic/arm64: detect and use builtins for the double-word CAS
4986 - CLEANUP: atomic: add an explicit _FETCH variant for add/sub/and/or
4987 - CLEANUP: atomic: make all standard add/or/and/sub operations return void
4988 - CLEANUP: atomic: add a fetch-and-xxx variant for common operations
4989 - CLEANUP: atomic: add HA_ATOMIC_INC/DEC for unit increments
4990 - CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec
4991 - CLEANUP: atomic: use the __atomic variant of BTS/BTR on modern compilers
4992 - MINOR: atomic: implement native BTS/BTR for x86
4993 - MINOR: ist: Add `istappend(struct ist, char)`
4994 - MINOR: ist: Add `istshift(struct ist*)`
4995 - MINOR: ist: Add `istsplit(struct ist*, char)`
4996 - BUG/MAJOR: fd: switch temp values to uint in fd_stop_both()
4997 - MINOR: opentracing: register config file and line number on log servers
4998 - MEDIUM: resolvers: add support of tcp address on nameserver line.
4999 - MINOR: ist: Rename istappend() to __istappend()
5000 - CLEANUP: htx: Make http_get_stline take a `const struct`
5001 - CLEANUP: ist: Remove unused `count` argument from `ist2str*`
5002 - CLEANUP: Remove useless malloc() casts
5003
5004 2021/04/02 : 2.4-dev15
5005 - BUG/MINOR: payload: Wait for more data if buffer is empty in payload/payload_lv
5006 - BUG/MINOR: stats: Apply proper styles in HTML status page.
5007 - BUG/MEDIUM: time: make sure to always initialize the global tick
5008 - BUG/MINOR: tcp: fix silent-drop workaround for IPv6
5009 - BUILD: tcp: use IPPROTO_IPV6 instead of SOL_IPV6 on FreeBSD/MacOS
5010 - CLEANUP: socket: replace SOL_IP/IPV6/TCP with IPPROTO_IP/IPV6/TCP
5011 - BUG/MINOR: http_fetch: make hdr_ip() resistant to empty fields
5012 - BUG/MINOR: mux-h2: Don't emit log twice if an error occurred on the preface
5013 - MINOR: stream: Don't trigger errors on destructive HTTP upgrades
5014 - MINOR: frontend: Create HTTP txn for HTX streams
5015 - MINOR: stream: Be sure to set HTTP analysers when creating an HTX stream
5016 - BUG/MINOR: stream: Properly handle TCP>H1>H2 upgrades in http_wait_for_request
5017 - BUG/MINOR: config: Add warning for http-after-response rules in TCP mode
5018 - MINOR: muxes: Add a flag to notify a mux does not support any upgrade
5019 - MINOR: mux-h1: Don't perform implicit HTTP/2 upgrade if not supported by mux
5020 - MINOR: mux-pt: Don't perform implicit HTTP upgrade if not supported by mux
5021 - MEDIUM: mux-h1: Expose h1 in the list of supported mux protocols
5022 - MEDIUM: mux-pt: Expose passthrough in the list of supported mux protocols
5023 - MINOR: muxes: Show muxes flags when the mux list is displayed
5024 - DOC: config: Improve documentation about proto/check-proto keywords
5025 - MINOR: stream: Use stream type instead of proxy mode when appropriate
5026 - MINOR: filters/http-ana: Decide to filter HTTP headers in HTTP analysers
5027 - MINOR: http-ana: Simplify creation/destruction of HTTP transactions
5028 - MINOR: stream: Handle stream HTTP upgrade in a dedicated function
5029 - MEDIUM: Add tcp-request switch-mode action to perform HTTP upgrade
5030 - MINOR: config/proxy: Don't warn for HTTP rules in TCP if 'switch-mode http' set
5031 - MINOR: config/proxy: Warn if a TCP proxy without backend is upgradable to HTTP
5032 - DOC: config: Add documentation about TCP to HTTP upgrades
5033 - REGTESTS: Add script to tests TCP to HTTP upgrades
5034 - BUG/MINOR: payload/htx: Ingore L6 sample fetches for HTX streams/checks
5035 - MINOR: htx: Make internal.strm.is_htx an internal sample fetch
5036 - MINOR: action: Use a generic function to check validity of an action rule list
5037 - MINOR: payload/config: Warn if a L6 sample fetch is used from an HTTP proxy
5038 - MEDIUM: http-rules: Add wait-for-body action on request and response side
5039 - REGTESTS: Add script to tests the wait-for-body HTTP action
5040 - BUG/MINOR: http-fetch: Fix test on message state to capture the version
5041 - CLEANUP: vars: always pre-initialize smp in vars_parse_cli_get_var()
5042 - MINOR: global: define diagnostic mode of execution
5043 - MINOR: cfgparse: diag for multiple nbthread statements
5044 - MINOR: server: diag for 0 weight server
5045 - MINOR: diag: create cfgdiag module
5046 - MINOR: diag: diag if servers use the same cookie value
5047 - MINOR: config: diag if global section after non-global
5048 - TESTS: slightly reorganize the code in the tests/ directory
5049 - TESTS: move tests/*.cfg to tests/config
5050 - REGTESTS: ssl: "set ssl cert" and multi-certificates bundle
5051 - REGTESTS: ssl: mark set_ssl_cert_bundle.vtc as broken
5052 - CONTRIB: halog: fix issue with array of type char
5053 - CONTRIB: tcploop: add a shutr command
5054 - CONTRIB: debug: add the show-fd-to-flags script
5055 - CONTRIB: debug: split poll from flags
5056 - CONTRIB: move some dev-specific tools to dev/
5057 - BUILD: makefile: always build the flags utility
5058 - DEV: flags: replace the unneeded makefile with a README
5059 - BUILD: makefile: integrate the hpack tools
5060 - CONTRIB: merge ip6range with iprange
5061 - CONTRIB: move some admin-related sub-projects to admin/
5062 - CONTRIB: move halog to admin/
5063 - ADMIN: halog: automatically enable USE_MEMCHR on the right glibc version
5064 - BUILD: makefile: build halog with the correct flags
5065 - BUILD: makefile: add a "USE_PROMEX" variable to ease building prometheus-exporter
5066 - CONTRIB: move prometheus-exporter to addons/promex
5067 - DOC: add a few words about USE_* and the addons directory
5068 - CONTRIB: move 51Degrees to addons/51degrees
5069 - CONTRIB: move src/da.c and contrib/deviceatlas to addons/deviceatlas
5070 - CONTRIB: move src/wurfl.c and contrib/wurfl to addons/wurfl
5071 - CONTRIB: move contrib/opentracing to addons/ot
5072 - BUG/MINOR: opentracing: initialization after establishing daemon mode
5073 - DOC: clarify that compression works for HTTP/2
5074
5075 2021/03/27 : 2.4-dev14
5076 - MEDIUM: quic: Fix build.
5077 - MEDIUM: quic: Fix build.
5078 - CI: codespell: whitelist "Dragan Dosen"
5079 - CLEANUP: assorted typo fixes in the code and comments
5080 - CI: github actions: update LibreSSL to 3.2.5
5081 - REGTESTS: revert workaround for a crash with recent libressl on http-reuse sni
5082 - CLEANUP: mark defproxy as const on parse tune.fail-alloc
5083 - REGTESTS: remove unneeded experimental-mode in cli add server test
5084 - REGTESTS: wait for proper return of enable server in cli add server test
5085 - MINOR: compression: use pool_alloc(), not pool_alloc_dirty()
5086 - MINOR: spoe: use pool_alloc(), not pool_alloc_dirty()
5087 - MINOR: fcgi-app: use pool_alloc(), not pool_alloc_dirty()
5088 - MINOR: cache: use pool_alloc(), not pool_alloc_dirty()
5089 - MINOR: ssl: use pool_alloc(), not pool_alloc_dirty()
5090 - MINOR: opentracing: use pool_alloc(), not pool_alloc_dirty()
5091 - MINOR: dynbuf: make b_alloc() always check if the buffer is allocated
5092 - CLEANUP: compression: do not test for buffer before calling b_alloc()
5093 - CLEANUP: l7-retries: do not test the buffer before calling b_alloc()
5094 - MINOR: channel: simplify the channel's buffer allocation
5095 - MEDIUM: dynbuf: remove last usages of b_alloc_margin()
5096 - CLEANUP: dynbuf: remove b_alloc_margin()
5097 - CLEANUP: dynbuf: remove the unused b_alloc_fast() function
5098 - CLEANUP: pools: remove the unused pool_get_first() function
5099 - MINOR: pools: make the pool allocator support a few flags
5100 - MINOR: pools: add pool_zalloc() to return a zeroed area
5101 - CLEANUP: connection: use pool_zalloc() in conn_alloc_hash_node()
5102 - CLEANUP: filters: use pool_zalloc() in flt_stream_add_filter()
5103 - CLEANUP: spoe: use pool_zalloc() instead of pool_alloc+memset
5104 - CLEANUP: frontend: use pool_zalloc() in frontend_accept()
5105 - CLEANUP: mailers: use pool_zalloc() in enqueue_one_email_alert()
5106 - CLEANUP: resolvers: use pool_zalloc() in resolv_link_resolution()
5107 - CLEANUP: ssl: use pool_zalloc() in ssl_init_keylog()
5108 - CLEANUP: tcpcheck: use pool_zalloc() instead of pool_alloc+memset
5109 - CLEANUP: quic: use pool_zalloc() instead of pool_alloc+memset
5110 - MINOR: time: also provide a global, monotonic global_now_ms timer
5111 - BUG/MEDIUM: freq_ctr/threads: use the global_now_ms variable
5112 - MINOR: tools: introduce new option PA_O_DEFAULT_DGRAM on str2sa_range.
5113 - BUILD: tools: fix build error with new PA_O_DEFAULT_DGRAM
5114 - BUG/MINOR: ssl: Prevent disk access when using "add ssl crt-list"
5115 - CLEANUP: ssl: remove unused definitions
5116 - BUILD: ssl: guard ecdh functions with SSL_CTX_set_tmp_ecdh macro
5117 - MINOR: lua: Slightly improve function dumping the lua traceback
5118 - BUG/MEDIUM: debug/lua: Use internal hlua function to dump the lua traceback
5119 - BUG/MEDIUM: lua: Always init the lua stack before referencing the context
5120 - MINOR: fd: make fd_clr_running() return the remaining running mask
5121 - MINOR: fd: remove the unneeded running bit from fd_insert()
5122 - BUG/MEDIUM: fd: do not wait on FD removal in fd_delete()
5123 - CLEANUP: fd: remove unused fd_set_running_excl()
5124 - CLEANUP: fd: slightly simplify up _fd_delete_orphan()
5125 - BUG/MEDIUM: fd: Take the fd_mig_lock when closing if no DWCAS is available.
5126 - BUG/MEDIUM: release lock on idle conn killing on reached pool high count
5127 - BUG/MEDIUM: thread: Fix a deadlock if an isolated thread is marked as harmless
5128 - MINOR: tools: make url2ipv4 return the exact number of bytes parsed
5129 - BUG/MINOR: http_fetch: make hdr_ip() reject trailing characters
5130 - BUG/MEDIUM: mux-h1: make h1_shutw_conn() idempotent
5131 - BUG/MINOR: ssl: Fix update of default certificate
5132 - BUG/MINOR: ssl: Prevent removal of crt-list line if the instance is a default one
5133 - BUILD: ssl: introduce fine guard for ssl random extraction functions
5134 - REORG: global: move initcall register code in a dedicated file
5135 - REORG: global: move free acl/action in their related source files
5136 - REORG: split proxy allocation functions
5137 - MINOR: proxy: implement a free_proxy function
5138 - MINOR: proxy: define cap PR_CAP_LUA
5139 - MINOR: lua: properly allocate the lua Socket proxy
5140 - MINOR: lua: properly allocate the lua Socket servers
5141 - MINOR: vars: make get_vars() allow the session to be null
5142 - MINOR: vars: make the var() sample fetch keyword depend on nothing
5143 - CLEANUP: sample: remove duplicate "stopping" sample fetch keyword
5144 - MINOR: sample: make smp_resolve_args() return an allocate error message
5145 - MINOR: sample: add a new SMP_SRC_CONST sample capability
5146 - MINOR: sample: mark the truly constant sample fetch keywords as such
5147 - MINOR: sample: add a new CFG_PARSER context for samples
5148 - MINOR: action: add a new ACT_F_CFG_PARSER origin designation
5149 - MEDIUM: vars: add support for a "set-var" global directive
5150 - REGTESTS: add a basic reg-test for some "set-var" commands
5151 - MINOR: sample: add a new CLI_PARSER context for samples
5152 - MINOR: action: add a new ACT_F_CLI_PARSER origin designation
5153 - MINOR: vars/cli: add a "get var" CLI command to retrieve global variables
5154 - MEDIUM: cli: add a new experimental "set var" command
5155 - MINOR: compat: add short aliases for a few very commonly used types
5156 - BUILD: ssl: use EVP_CIPH_GCM_MODE macro instead of HA_OPENSSL_VERSION
5157 - MEDIUM: backend: use a trylock to grab a connection on high FD counts as well
5158
5159 2021/03/19 : 2.4-dev13
5160 - BUG/MEDIUM: cli: fix "help" crashing since recent spelling fixes
5161 - BUG/MINOR: cfgparse: use the GLOBAL not LISTEN keywords list for spell checking
5162 - MINOR: tools: improve word fingerprinting by counting presence
5163 - MINOR: tools: do not sum squares of differences for word fingerprints
5164 - MINOR: cli: improve fuzzy matching to work on all remaining words at once
5165 - MINOR: cli: sort the suggestions by order of relevance
5166 - MINOR: cli: limit spelling suggestions to 5
5167 - MINOR: cfgparse/proxy: also support spelling fixes on options
5168 - BUG/MINOR: resolvers: Add missing case-insensitive comparisons of DNS hostnames
5169 - MINOR: time: export the global_now variable
5170 - BUG/MINOR: freq_ctr/threads: make use of the last updated global time
5171 - MINOR: freq_ctr/threads: relax when failing to update a sliding window value
5172 - MINOR/BUG: mworker/cli: do not use the unix_bind prefix for the master CLI socket
5173 - MINOR: mworker/cli: alert the user if we enabled a master CLI but not the master-worker mode
5174 - MINOR: cli: implement experimental-mode
5175 - REORG: server: add a free server function
5176 - MINOR: cfgparse: always alloc idle conns task
5177 - REORG: server: move keywords in srv_kws
5178 - MINOR: server: remove fastinter from mistyped kw list
5179 - REORG: server: split parse_server
5180 - REORG: server: move alert traces in parse_server
5181 - REORG: server: rename internal functions from parse_server
5182 - REORG: server: attach servers in parse_server
5183 - REORG: server: use flags for parse_server
5184 - MINOR: server: prepare parsing for dynamic servers
5185 - MINOR: stats: export function to allocate extra proxy counters
5186 - MEDIUM: server: implement 'add server' cli command
5187 - REGTESTS: implement test for 'add server' cli
5188 - MINOR: server: enable standard options for dynamic servers
5189 - MINOR: server: support keyword proto in 'add server' cli
5190 - BUG/MINOR: protocol: add missing support of dgram unix socket.
5191 - CLEANUP: Fix a typo in fix_is_valid description
5192 - MINOR: raw_sock: Add a close method.
5193 - MEDIUM: connections: Introduce a new XPRT method, start().
5194 - MEDIUM: connections: Implement a start() method for xprt_handshake.
5195 - MEDIUM: connections: Implement a start() method in ssl_sock.
5196 - MINOR: muxes: garbage collect the reset() method.
5197 - CLEANUP: tcp-rules: Fix a typo in error messages about expect-netscaler-cip
5198 - MEDIUM: lua: Use a per-thread counter to track some non-reentrant parts of lua
5199 - BUG/MEDIUM: debug/lua: Don't dump the lua stack if not dumpable
5200
5201 2021/03/13 : 2.4-dev12
5202 - CLEANUP: connection: Use `VAR_ARRAY` in `struct tlv` definition
5203 - CLEANUP: connection: Remove useless test for NULL before calling `pool_free()`
5204 - CLEANUP: connection: Use istptr / istlen for proxy_unique_id
5205 - MINOR: connection: Use a `struct ist` to store proxy_authority
5206 - CLEANUP: connection: Consistently use `struct ist` to process all TLV types
5207 - BUILD: task: fix build at -O0 with threads disabled
5208 - BUILD: bug: refine HA_LINK_ERROR() to only be used on gcc and derivatives
5209 - CLEANUP: config: make the cfg_keyword parsers take a const for the defproxy
5210 - BUILD: connection: do not use VAR_ARRAY in struct tlv
5211 - BUG/MEDIUM: session: NULL dereference possible when accessing the listener
5212 - MINOR: build: force CC to set a return code when probing options
5213 - CLEANUP: stream: rename a few remaining occurrences of "stream *sess"
5214 - BUG/MEDIUM: resolvers: handle huge responses over tcp servers.
5215 - CLEANUP: config: also address the cfg_keyword API change in the compression code
5216 - BUG/MEDIUM: ssl: properly remove the TASK_HEAVY flag at end of handshake
5217 - BUG/MINOR: sample: Rename SenderComID/TargetComID to SenderCompID/TargetCompID
5218 - MINOR: task: give the scheduler a bit more flexibility in the runqueue size
5219 - OPTIM: task: automatically adjust the default runqueue-depth to the threads
5220 - BUG/MINOR: connection: Missing QUIC initialization
5221 - BUG/MEDIUM: stick-tables: fix ref counter in table entry using multiple http tracksc.
5222 - BUILD: atomic/arm64: force the register pairs to use in __ha_cas_dw()
5223 - BUG/MEDIUM: filters: Set CF_FL_ANALYZE on channels when filters are attached
5224 - BUG/MINOR: tcpcheck: Update .health threshold of agent inside an agent-check
5225 - BUG/MINOR: proxy/session: Be sure to have a listener to increment its counters
5226 - BUG/MINOR: tcpcheck: Fix double free on error path when parsing tcp/http-check
5227 - BUG/MINOR: server-state: properly handle the case where the base is not set
5228 - BUG/MINOR: server-state: use the argument, not the global state
5229 - CLEANUP: tcp-rules: add missing actions in the tcp-request error message
5230 - CLEANUP: vars: make the error message clearer on missing arguments for set-var
5231 - CLEANUP: http-rules: remove the unexpected comma before the list of action keywords
5232 - CLEANUP: actions: the keyword must always be const from the rule
5233 - MINOR: tools: add simple word fingerprinting to find similar-looking words
5234 - MINOR: cfgparse: add cfg_find_best_match() to suggest an existing word
5235 - MINOR: cfgparse: suggest correct spelling for unknown words in proxy sections
5236 - MINOR: cfgparse: suggest correct spelling for unknown words in global section
5237 - MINOR: cfgparse/server: try to fix spelling mistakes on server lines
5238 - MINOR: cfgparse/bind: suggest correct spelling for unknown bind keywords
5239 - MINOR: actions: add a function to suggest an action ressembling a given word
5240 - MINOR: http-rules: suggest approaching action names on mismatch
5241 - MINOR: tcp-rules: suggest approaching action names on mismatch
5242 - BUG/MINOR: cfgparse/server: increment the extra keyword counter one at a time
5243 - Revert "BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record"
5244 - BUG/MINOR: resolvers: Consider server to have no IP on DNS resolution error
5245 - BUG/MINOR: resolvers: Reset server address on DNS error only on status change
5246 - BUG/MINOR: resolvers: Unlink DNS resolution to set RMAINT on SRV resolution
5247 - BUG/MEDIUM: resolvers: Don't set an address-less server as UP
5248 - BUG/MEDIUM: resolvers: Fix the loop looking for an existing ADD item
5249 - MINOR: resolvers: new function find_srvrq_answer_record()
5250 - BUG/MINOR; resolvers: Ignore DNS resolution for expired SRV item
5251 - BUG/MEDIUM: resolvers: Trigger a DNS resolution if an ADD item is obsolete
5252 - MINOR: resolvers: Use a function to remove answers attached to a resolution
5253 - MINOR: resolvers: Purge answer items when a SRV resolution triggers an error
5254 - MINOR: resolvers: Add function to change the srv status based on SRV resolution
5255 - MINOR: resolvers: Directly call srvrq_update_srv_state() when possible
5256 - BUG/MEDIUM: resolvers: Don't release resolution from a requester callbacks
5257 - BUG/MEDIUM: resolvers: Skip DNS resolution at startup if SRV resolution is set
5258 - MINOR: resolvers: Use milliseconds for cached items in resolver responses
5259 - MINOR: resolvers: Don't try to match immediatly renewed ADD items
5260 - CLEANUP: resolvers: Use ha_free() in srvrq_resolution_error_cb()
5261 - CLEANUP: resolvers: Perform unsafe loop on requester list when possible
5262 - BUG/MINOR: cli: make sure "help", "prompt", "quit" are enabled at master level
5263 - CLEANUP: cli: fix misleading comment and better indent the access level flags
5264 - MINOR: cli: set the ACCESS_MASTER* bits on the master bind_conf
5265 - MINOR: cli: test the appctx level for master access instead of comparing pointers
5266 - MINOR: cli: print the error message in the parser function itself
5267 - MINOR: cli: filter the list of commands to the matching part
5268 - MEDIUM: cli: apply spelling fixes for known commands before listing them
5269 - MINOR: tools: add the ability to update a word fingerprint
5270 - MINOR: cli: apply the fuzzy matching on the whole command instead of words
5271 - CLEANUP: cli: rename MAX_STATS_ARGS to MAX_CLI_ARGS
5272 - CLEANUP: cli: rename the last few "stats_" to "cli_"
5273 - CLEANUP: task: make sure tasklet handlers always indicate their statuses
5274 - CLEANUP: assorted typo fixes in the code and comments
5275
5276 2021/03/05 : 2.4-dev11
5277 - CI: codespell: skip Makefile for spell check
5278 - CLEANUP: assorted typo fixes in the code and comments
5279 - BUG/MINOR: tcp-act: Don't forget to set the original port for IPv4 set-dst rule
5280 - BUG/MINOR: connection: Use the client's dst family for adressless servers
5281 - BUG/MEDIUM: spoe: Kill applets if there are pending connections and nbthread > 1
5282 - CLEANUP: Use ist2(const void*, size_t) whenever possible
5283 - CLEANUP: Use IST_NULL whenever possible
5284 - BUILD: proxy: Missing header inclusion for quic_transport_params_init()
5285 - BUILD: quic: Implicit conversion between SSL related enums.
5286 - DOC: spoe: Add a note about fragmentation support in HAProxy
5287 - MINOR: contrib: add support for heartbeat control messages.
5288 - MINOR: contrib: Enhance peers dissector heuristic.
5289 - BUG/MINOR: mux-h2: Fix typo in scheme adjustment
5290 - CLEANUP: Reapply the ist2() replacement patch
5291 - CLEANUP: Use istadv(const struct ist, const size_t) whenever possible
5292 - CLEANUP: Use isttest(const struct ist) whenever possible
5293 - Revert "CI: Pin VTest to a known good commit"
5294 - CLEANUP: backend: fix a wrong comment
5295 - BUG/MINOR: backend: free allocated bind_addr if reuse conn
5296 - MINOR: backend: handle reuse for conns with no server as target
5297 - REGTESTS: test http-reuse if no server target
5298 - BUG/MINOR: hlua: Don't strip last non-LWS char in hlua_pushstrippedstring()
5299 - BUG/MINOR: server-state: Don't load server-state file for disabled backends
5300 - CLEANUP: dns: Use DISGUISE() on a never-failing ring_attach() call
5301 - CLEANUP: dns: Remove useless test on ns->dgram in dns_connect_nameserver()
5302 - DOC: fix originalto except clause on destination address
5303 - CLEANUP: Use the ist() macro whenever possible
5304 - CLEANUP: Replace for loop with only a condition by while
5305 - REORG: atomic: reimplement pl_cpu_relax() from atomic-ops.h
5306 - BUG/MINOR: mt-list: always perform a cpu_relax call on failure
5307 - MINOR: atomic: add armv8.1-a atomics variant for cas-dw
5308 - MINOR: atomic: implement a more efficient arm64 __ha_cas_dw() using pairs
5309 - BUG/MINOR: ssl: don't truncate the file descriptor to 16 bits in debug mode
5310 - MEDIUM: pools: add CONFIG_HAP_NO_GLOBAL_POOLS and CONFIG_HAP_GLOBAL_POOLS
5311 - MINOR: pools: double the local pool cache size to 1 MB
5312 - MINOR: stream: use ABORT_NOW() and not abort() in stream_dump_and_crash()
5313 - CLEANUP: stream: explain why we queue the stream at the head of the server list
5314 - MEDIUM: backend: use a trylock when trying to grab an idle connection
5315 - REORG: tools: promote the debug PRNG to more general use as a statistical one
5316 - OPTIM: lb-random: use a cheaper PRNG to pick a server
5317 - MINOR: task: stop abusing the nice field to detect a tasklet
5318 - MINOR: task: move the nice field to the struct task only
5319 - MEDIUM: task: extend the state field to 32 bits
5320 - MINOR: task: add an application specific flag to the state: TASK_F_USR1
5321 - MEDIUM: muxes: mark idle conns tasklets with TASK_F_USR1
5322 - MINOR: xprt: add new xprt_set_idle and xprt_set_used methods
5323 - MEDIUM: ssl: implement xprt_set_used and xprt_set_idle to relax context checks
5324 - MINOR: server: don't read curr_used_conns multiple times
5325 - CLEANUP: global: reorder some fields to respect cache lines
5326 - CLEANUP: sockpair: silence a coverity check about fcntl()
5327 - CLEANUP: lua: set a dummy file name and line number on the dummy servers
5328 - MINOR: server: add a global list of all known servers
5329 - MINOR: cfgparse: finish to set up servers outside of the proxy setup loop
5330 - MINOR: server: allocate a per-thread struct for the per-thread connections stuff
5331 - MINOR: server: move actconns to the per-thread structure
5332 - CLEANUP: server: reorder some fields in the server struct to respect cache lines
5333 - MINOR: backend: add a BUG_ON if conn mux NULL in connect_server
5334 - BUG/MINOR: backend: fix condition for reuse on mode HTTP
5335 - BUILD: Fix build when using clang without optimizing.
5336 - CLEANUP: assorted typo fixes in the code and comments
5337
5338 2021/02/26 : 2.4-dev10
5339 - BUILD: SSL: introduce fine guard for RAND_keep_random_devices_open
5340 - MINOR: Configure the `cpp` userdiff driver for *.[ch] in .gitattributes
5341 - BUG/MINOR: ssl/cli: potential null pointer dereference in "set ssl cert"
5342 - BUG/MINOR: sample: secure convs that accept base64 string and var name as args
5343 - BUG/MEDIUM: vars: make functions vars_get_by_{name,desc} thread-safe
5344 - CLEANUP: vars: make smp_fetch_var() to reuse vars_get_by_desc()
5345 - DOC: muxes: add a diagram of the exchanges between muxes and outer world
5346 - BUG/MEDIUM: proxy: use thread-safe stream killing on hard-stop
5347 - BUG/MEDIUM: cli/shutdown sessions: make it thread-safe
5348 - BUG/MINOR: proxy: wake up all threads when sending the hard-stop signal
5349 - MINOR: stream: add an "epoch" to figure which streams appeared when
5350 - MINOR: cli/streams: make "show sess" dump all streams till the new epoch
5351 - MINOR: streams: use one list per stream instead of a global one
5352 - MEDIUM: streams: do not use the streams lock anymore
5353 - BUILD: dns: avoid a build warning when threads are disabled (dss unused)
5354 - MEDIUM: task: remove the tasks_run_queue counter and have one per thread
5355 - MINOR: tasks: do not maintain the rqueue_size counter anymore
5356 - CLEANUP: tasks: use a less confusing name for task_list_size
5357 - CLEANUP: task: move the tree root detection from __task_wakeup() to task_wakeup()
5358 - MINOR: task: limit the remote thread wakeup to the global runqueue only
5359 - MINOR: task: move the allocated tasks counter to the per-thread struct
5360 - CLEANUP: task: split the large tasklet_wakeup_on() function in two
5361 - BUG/MINOR: fd: properly wait for !running_mask in fd_set_running_excl()
5362 - BUG/MINOR: resolvers: Fix condition to release received ARs if not assigned
5363 - BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record
5364 - BUG/MINOR: resolvers: new callback to properly handle SRV record errors
5365 - BUG/MEDIUM: resolvers: Reset server address and port for obselete SRV records
5366 - BUG/MEDIUM: resolvers: Reset address for unresolved servers
5367 - DOC: Update the module list in MAINTAINERS file
5368 - MINOR: htx: Add function to reserve the max possible size for an HTX DATA block
5369 - DOC: Update the HTX API documentation
5370 - DOC: Update the filters guide
5371 - BUG/MEDIUM: contrib/prometheus-exporter: fix segfault in listener name dump
5372 - MINOR: task: split the counts of local and global tasks picked
5373 - MINOR: task: do not use __task_unlink_rq() from process_runnable_tasks()
5374 - MINOR: task: don't decrement then increment the local run queue
5375 - CLEANUP: task: re-merge __task_unlink_rq() with task_unlink_rq()
5376 - MINOR: task: make grq_total atomic to move it outside of the grq_lock
5377 - MINOR: tasks: also compute the tasklet latency when DEBUG_TASK is set
5378 - MINOR: task: make tasklet wakeup latency measurements more accurate
5379 - MINOR: server: Be more strict on the server-state line parsing
5380 - MINOR: server: Only fill one array when parsing a server-state line
5381 - MEDIUM: server: Refactor apply_server_state() to make it more readable
5382 - CLEANUP: server: Rename state_line node to node instead of name_name
5383 - CLEANUP: server: Rename state_line structure into server_state_line
5384 - CLEANUP: server: Use a local eb-tree to store lines of the global server-state file
5385 - MINOR: server: Be more strict when reading the version of a server-state file
5386 - MEDIUM: server: Store parsed params of a server-state line in the tree
5387 - MINOR: server: Remove cached line from global server-state tree when found
5388 - MINOR: server: Move loading state of servers in a dedicated function
5389 - MEDIUM: server: Use a tree to store local server-state lines
5390 - MINOR: server: Parse and store server-state lines in a dedicated function
5391 - MEDIUM: server: Don't load server-state file if a line is corrupted
5392 - REORG: server: Export and rename some functions updating server info
5393 - REORG: server-state: Move functions to deal with server-state in its own file
5394 - MINOR: server-state: Don't load server-state file for serverless proxies
5395 - CLEANUP: muxes: Remove useless if condition in show_fd function
5396 - BUG/MINOR: stats: fix compare of no-maint url suffix
5397 - MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY
5398 - MINOR: ssl: mark the SSL handshake tasklet as heavy
5399 - CLEANUP: server: rename srv_cleanup_{idle,toremove}_connections()
5400 - BUG/MINOR: ssl: potential null pointer dereference in ckchs_dup()
5401 - MINOR: task: add one extra tasklet class: TL_HEAVY
5402 - MINOR: task: place the heavy elements in TL_HEAVY
5403 - MINOR: task: only limit TL_HEAVY tasks but not others
5404 - BUG/MINOR: http-ana: Only consider dst address to process originalto option
5405 - MINOR: tools: Add net_addr structure describing a network addess
5406 - MINOR: tools: Add function to compare an address to a network address
5407 - MEDIUM: http-ana: Add IPv6 support for forwardfor and orignialto options
5408 - CLEANUP: hlua: Use net_addr structure internally to parse and compare addresses
5409 - REGTESTS: Add script to test except param for fowardedfor/originalto options
5410 - DOC: scheduler: add a diagram showing the different queues and their usages
5411 - CLEANUP: tree-wide: replace free(x);x=NULL with ha_free(&x)
5412 - CLEANUP: config: replace a few free() with ha_free()
5413 - CLEANUP: vars: always zero the pointers after a free()
5414 - CLEANUP: ssl: remove a useless "if" before freeing an error message
5415 - CLEANUP: ssl: make ssl_sock_free_srv_ctx() zero the pointers after free
5416 - CLEANUP: ssl: use realloc() instead of free()+malloc()
5417
5418 2021/02/20 : 2.4-dev9
5419 - BUG/MINOR: server: Remove RMAINT from admin state when loading server state
5420 - CLEANUP: check: fix get_check_status_info declaration
5421 - CLEANUP: contrib/prometheus-exporter: align for with srv status case
5422 - MEDIUM: stats: allow to select one field in `stats_fill_li_stats`
5423 - MINOR: stats: add helper to get status string
5424 - MEDIUM: contrib/prometheus-exporter: add listen stats
5425 - BUG/MINOR: dns: add test on result getting value from buffer into ring.
5426 - BUG/MINOR: dns: dns_connect_server must return -1 unsupported nameserver's type
5427 - BUG/MINOR: dns: missing test writing in output channel in session handler
5428 - BUG/MINOR: dns: fix ring attach control on dns_session_new
5429 - BUG/MEDIUM: dns: fix multiple double close on fd in dns.c
5430 - BUG/MAJOR: connection: prevent double free if conn selected for removal
5431 - BUG/MINOR: session: atomically increment the tracked sessions counter
5432 - REGTESTS: fix http_reuse_conn_hash proxy test
5433 - BUG/MINOR: backend: do not call smp_make_safe for sni conn hash
5434 - MINOR: connection: remove pointers for prehash in conn_hash_params
5435 - BUG/MINOR: checks: properly handle wrapping time in __health_adjust()
5436 - BUG/MEDIUM: checks: don't needlessly take the server lock in health_adjust()
5437 - DEBUG: thread: add 5 extra lock labels for statistics and debugging
5438 - OPTIM: server: switch the actconn list to an mt-list
5439 - Revert "MINOR: threads: change lock_t to an unsigned int"
5440 - MINOR: lb/api: let callers of take_conn/drop_conn tell if they have the lock
5441 - OPTIM: lb-first: do not take the server lock on take_conn/drop_conn
5442 - OPTIM: lb-leastconn: do not take the server lock on take_conn/drop_conn
5443 - OPTIM: lb-leastconn: do not unlink the server if it did not change
5444 - MINOR: tasks: add DEBUG_TASK to report caller info in a task
5445 - MINOR: tasks/debug: add some extra controls of use-after-free in DEBUG_TASK
5446 - BUG/MINOR: sample: Always consider zero size string samples as unsafe
5447 - MINOR: cli: add missing agent commands for set server
5448 - BUILD/MEDIUM: da Adding pcre2 support.
5449 - BUILD: ssl: introduce fine guard for OpenSSL specific SCTL functions
5450 - REGTESTS: reorder reuse conn proxy protocol test
5451 - DOC: explain the relation between pool-low-conn and tune.idle-pool.shared
5452 - MINOR: tasks: refine the default run queue depth
5453 - MINOR: listener: refine the default MAX_ACCEPT from 64 to 4
5454 - MINOR: mux_h2: do not try to remove front conn from idle trees
5455 - REGTESTS: workaround for a crash with recent libressl on http-reuse sni
5456 - BUG/MEDIUM: lists: Avoid an infinite loop in MT_LIST_TRY_ADDQ().
5457 - MINOR: connection: allocate dynamically hash node for backend conns
5458 - DOC: DeviceAtlas documentation typo fix.
5459 - BUG/MEDIUM: spoe: Resolve the sink if a SPOE logs in a ring buffer
5460 - BUG/MINOR: http-rules: Always replace the response status on a return action
5461 - BUG/MINOR: server: Init params before parsing a new server-state line
5462 - BUG/MINOR: server: Be sure to cut the last parsed field of a server-state line
5463 - MEDIUM: server: Don't introduce a new server-state file version
5464 - DOC: contrib/prometheus-exporter: remove htx reference
5465 - REGTESTS: contrib/prometheus-exporter: test NaN values
5466 - REGTESTS: contrib/prometheus-exporter: test well known labels
5467 - CI: github actions: switch to stable LibreSSL release
5468 - BUG/MINOR: server: Fix test on number of fields allowed in a server-state line
5469 - MINOR: dynbuf: make the buffer wait queue per thread
5470 - MINOR: dynbuf: use regular lists instead of mt_lists for buffer_wait
5471 - MINOR: dynbuf: pass offer_buffers() the number of buffers instead of a threshold
5472 - MINOR: sched: have one runqueue ticks counter per thread
5473
5474 2021/02/13 : 2.4-dev8
5475 - BUILD: ssl: fix typo in HAVE_SSL_CTX_ADD_SERVER_CUSTOM_EXT macro
5476 - BUILD: ssl: guard SSL_CTX_add_server_custom_ext with special macro
5477 - BUG/MINOR: mux-h1: Don't emit extra CRLF for empty chunked messages
5478 - MINOR: contrib/prometheus-exporter: use stats desc when possible followup
5479 - MEDIUM: contrib/prometheus-exporter: export base stick table stats
5480 - CLEANUP: assorted typo fixes in the code and comments
5481 - CLEANUP: check: fix some typo in comments
5482 - CLEANUP: tools: typo in `strl2irc` mention
5483 - BUILD: ssl: guard SSL_CTX_set_msg_callback with SSL_CTRL_SET_MSG_CALLBACK macro
5484 - MEDIUM: ssl: add a rwlock for SSL server session cache
5485 - BUG/MINOR: intops: fix mul32hi()'s off-by-one
5486 - BUG/MINOR: freq_ctr: fix a wrong delay calculation in next_event_delay()
5487 - MINOR: stick-tables/counters: add http_fail_cnt and http_fail_rate data types
5488 - MINOR: ssl: add SSL_SERVER_LOCK label in threads.h
5489 - BUG/MINOR: mux-h1: Don't increment HTTP error counter for 408/500/501 errors
5490 - BUG/MINOR: http-ana: Don't increment HTTP error counter on internal errors
5491 - BUG/MEDIUM: mux-h1: Always set CS_FL_EOI for response in MSG_DONE state
5492 - BUG/MINOR: mux-h1: Fix data skipping for bodyless responses
5493 - BUG/MINOR: mux-h1: Don't blindly skip EOT block for non-chunked messages
5494 - BUG/MEDIUM: mux-h2: Add EOT block when EOM flag is set on an empty HTX message
5495 - MINOR: mux-h1: Be sure EOM flag is set when processing end of outgoing message
5496 - REGTESTS: Add a script to test payload skipping for bodyless HTTP responses
5497 - BUG/MINOR: server: re-align state file fields number
5498 - CLEANUP: muxes: Remove useless calls to b_realign_if_empty()
5499 - BUG/MINOR: tools: Fix a memory leak on error path in parse_dotted_uints()
5500 - CLEANUP: remove unused variable assigned found by Coverity
5501 - CLEANUP: queue: Remove useless tests on p or pp in pendconn_process_next_strm()
5502 - BUG/MINOR: backend: hold correctly lock when killing idle conn
5503 - MEDIUM: connection: protect idle conn lists with locks
5504 - MEDIUM: connection: replace idle conn lists by eb trees
5505 - MINOR: backend: search conn in idle/safe trees after available
5506 - MINOR: backend: search conn in idle tree after safe on always reuse
5507 - MINOR: connection: prepare hash calcul for server conns
5508 - MINOR: connection: use the srv pointer for the srv conn hash
5509 - MINOR: backend: compare conn hash for session conn reuse
5510 - MINOR: connection: use sni as parameter for srv conn hash
5511 - MINOR: reg-tests: test http-reuse with sni
5512 - MINOR: backend: rewrite alloc of stream target address
5513 - MINOR: connection: use dst addr as parameter for srv conn hash
5514 - MINOR: reg-test: test http-reuse with specific dst addr
5515 - MINOR: backend: rewrite alloc of connection src address
5516 - MINOR: connection: use src addr as parameter for srv conn hash
5517 - MINOR: connection: use proxy protocol as parameter for srv conn hash
5518 - MINOR: reg-tests: test http-reuse with proxy protocol
5519 - MINOR: doc: update http reuse for new eligilible connections
5520 - BUG/MINOR: backend: fix compilation without ssl
5521 - REGTESTS: adjust http_reuse_conn_hash requirements
5522 - REGTESTS: deactivate a failed test on CI in http_reuse_conn_hash
5523 - REGTESTS: fix sni used in http_reuse_conn_hash for libressl 3.3.0
5524 - CI: cirrus: update FreeBSD image to 12.2
5525 - MEDIUM: cli: add check-addr command
5526 - MEDIUM: cli: add agent-port command
5527 - MEDIUM: server: add server-states version 2
5528 - MEDIUM: server: support {check,agent}_addr, agent_port in server state
5529 - MINOR: server: enhance error precision when applying server state
5530 - BUG/MINOR: server: Fix server-state-file-name directive
5531 - CLEANUP: deinit: release global and per-proxy server-state variables on deinit
5532 - BUG/MEDIUM: config: don't pick unset values from last defaults section
5533 - BUG/MINOR: stats: revert the change on ST_CONVDONE
5534 - BUG/MINOR: cfgparse: do not mention "addr:port" as supported on proxy lines
5535 - BUG/MINOR: http-htx: defpx must be a const in proxy_dup_default_conf_errors()
5536 - BUG/MINOR: tcpheck: the source list must be a const in dup_tcpcheck_var()
5537 - BUILD: proxy: add missing compression-t.h to proxy-t.h
5538 - REORG: move init_default_instance() to proxy.c and pass it the defproxy pointer
5539 - REORG: proxy: centralize the proxy allocation code into alloc_new_proxy()
5540 - MEDIUM: proxy: only take defaults when a default proxy is passed.
5541 - MINOR: proxy: move the defproxy freeing code to proxy.c
5542 - MINOR: proxy: always properly reset the just freed default instance pointers
5543 - BUG/MINOR: extcheck: proxy_parse_extcheck() must take a const for the defproxy
5544 - BUG/MINOR: tcpcheck: proxy_parse_*check*() must take a const for the defproxy
5545 - BUG/MINOR: server: parse_server() must take a const for the defproxy
5546 - MINOR: cfgparse: move defproxy to cfgparse-listen as a static
5547 - MINOR: proxy: add a new capability PR_CAP_DEF
5548 - MINOR: cfgparse: check PR_CAP_DEF instead of comparing poiner against defproxy
5549 - MINOR: cfgparse: use a pointer to the current default proxy
5550 - MINOR: proxy: also store the name for a defaults section
5551 - MINOR: proxy: support storing defaults sections into their own tree
5552 - MEDIUM: proxy: store the default proxies in a tree by name
5553 - MEDIUM: cfgparse: allow a proxy to designate the defaults section to use
5554 - MINOR: http: add baseq sample fetch
5555 - CLEANUP: tcpcheck: Remove a useless test on port variable
5556 - BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL
5557 - CLEANUP: server: Remove useless "filepath" variable in apply_server_state()
5558 - MINOR: peers/cli: do not dump the peers dictionaries by default on "show peers"
5559 - MINOR: cfgparse: implement a simple if/elif/else/endif macro block handler
5560 - DOC: tune: explain the origin of block size for ssl.cachesize
5561 - MINOR: tcp: add support for defer-accept on FreeBSD.
5562 - MINOR: ring: adds new ring_init function.
5563 - CLEANUP: channel: fix comment in ci_putblk.
5564 - BUG/MINOR: dns: add missing sent counter and parent id to dns counters.
5565 - BUG/MINOR: resolvers: fix attribute packed struct for dns
5566 - MINOR: resolvers: renames some resolvers internal types and removes dns prefix
5567 - MINOR: resolvers: renames type dns_resolvers to resolvers.
5568 - MINOR: resolvers: renames some resolvers specific types to not use dns prefix
5569 - MINOR: resolvers: renames some dns prefixed types using resolv prefix.
5570 - MINOR: resolvers: renames resolvers DNS_RESP_* errcodes RSLV_RESP_*
5571 - MINOR: resolvers: renames resolvers DNS_UPD_* returncodes to RSLV_UPD_*
5572 - MINOR: resolvers: rework prototype suffixes to split resolving and dns.
5573 - MEDIUM: resolvers: move resolvers section parsing from cfgparse.c to dns.c
5574 - MINOR: resolvers: replace nameserver's resolver ref by generic parent pointer
5575 - MINOR: resolvers: rework dns stats prototype because specific to resolvers
5576 - MEDIUM: resolvers: split resolving and dns message exchange layers.
5577 - MEDIUM: resolvers/dns: split dns.c into dns.c and resolvers.c
5578 - MEDIUM: dns: adds code to support pipelined DNS requests over TCP.
5579 - MEDIUM: resolvers: add supports of TCP nameservers in resolvers.
5580
5581 2021/02/05 : 2.4-dev7
5582 - BUG/MINOR: stats: Continue to fill frontend stats on unimplemented metric
5583 - BUILD: ssl: guard Client Hello callbacks with HAVE_SSL_CLIENT_HELLO_CB macro instead of openssl version
5584 - BUG/MINOR: stats: Init the metric variable when frontend stats are filled
5585 - MINOR: contrib/prometheus-exporter: better output of Not-a-Number
5586 - CLEANUP: stats: improve field selection for frontend http fields
5587 - CLEANUP: assorted typo fixes in the code and comments
5588 - DOC: Improve documentation of the various hdr() fetches
5589 - MEDIUM: stats: allow to select one field in `stats_fill_be_stats`
5590 - MINOR: contrib/prometheus-exporter: use fill_be_stats for backend dump
5591 - MEDIUM: stats: allow to select one field in `stats_fill_sv_stats`
5592 - MINOR: contrib/prometheus-exporter: use fill_sv_stats for server dump
5593 - MINOR: abort() on my_unreachable() when DEBUG_USE_ABORT is set.
5594 - BUG/MEDIUM: filters/htx: Fix data forwarding when payload length is unknown
5595 - BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name
5596 - MINOR: reg-tests: add http-reuse test
5597 - CLEANUP: srv: fix comment for pool-max-conn
5598 - CLEANUP: backend: remove an obsolete comment on conn_backend_get
5599 - REORG: backend: simplify conn_backend_get
5600 - MINOR: ssl: Server ssl context prepare function refactoring
5601 - MINOR: ssl: Certificate chain loading refactorization
5602 - MEDIUM: ssl: Load client certificates in a ckch for backend servers
5603 - MEDIUM: ssl: Enable backend certificate hot update
5604 - MINOR: ssl: Remove client_crt member of the server's ssl context
5605 - CLEANUP: ssl/cli: rework free in cli_io_handler_commit_cert()
5606 - CLEANUP: ssl: remove SSL_CTX function parameter
5607 - CLEANUP: ssl: make load_srv_{ckchs,cert} match their bind counterpart
5608 - BUILD: Include stdlib.h in compiler.h if DEBUG_USE_ABORT is set
5609 - CI: Fix DEBUG_STRICT definition for Coverity
5610 - BUG/MINOR: stats: Remove a break preventing ST_F_QCUR to be set for servers
5611 - BUG/MINOR: stats: Add a break after filling ST_F_MODE field for servers
5612 - CLEANUP: ssl: remove dead code in ckch_inst_new_load_srv_store()
5613 - BUG/MINOR: ssl: init tmp chunk correctly in ssl_sock_load_sctl_from_file()
5614 - BUG/MEDIUM: session: only retrieve ready idle conn from session
5615 - BUG/MEDIUM: backend: never reuse a connection for tcp mode
5616 - REGTESTS: set_ssl_server_cert.vtc: remove the abort command
5617 - REGTESTS: set_ssl_server_cert.vtc: check the Sha1 Fingerprint
5618 - REGTESTS: set_ssl_server_cert.vtc: check the sha1 from the server
5619 - MEDIUM: stream-int: Take care of EOS if the SI wake callback function
5620 - MINOR: mux-h1: Try to wake up data layer first before calling its wake callback
5621 - MINOR: mux-h1: Wake up H1C after its creation if input buffer is not empty
5622 - MEDIUM: mux-h1: Add ST_READY state for the H1 connections
5623 - MINOR: stream: Add a function to validate TCP to H1 upgrades
5624 - MEDIUM: http-ana: Do nothing in wait-for-request analyzer if not htx
5625 - BUG/MEDIUM: stream: Don't immediatly ack the TCP to H1 upgrades
5626 - BUG/MAJOR: mux-h1: Properly handle TCP to H1 upgrades
5627 - MINOR: htx/http-ana: Save info about Upgrade option in the Connection header
5628 - MEDIUM: http-ana: Refuse invalid 101-switching-protocols responses
5629 - BUG/MINOR: h2/mux-h2: Reject 101 responses with a PROTOCOL_ERROR h2s error
5630 - MINOR: mux-h1/mux-fcgi: Don't set TUNNEL mode if payload length is unknown
5631 - MINOR: mux-h1: Split H1C_F_WAIT_OPPOSITE flag to separate input/output sides
5632 - MINOR: mux-h2: Add 2 flags to help to properly handle tunnel mode
5633 - MEDIUM: mux-h2: Block client data on server side waiting tunnel establishment
5634 - MEDIUM: mux-h2: Close streams when processing data for an aborted tunnel
5635 - MEDIUM: mux-h1: Properly handle tunnel establishments and aborts
5636 - BUG/MAJOR: mux-h1/mux-h2/htx: Fix HTTP tunnel management at the mux level
5637 - MINOR: htx: Rename HTX_FL_EOI flag into HTX_FL_EOM
5638 - REGTESTS: Don't run http_msg_full_on_eom script on the 2.4 anymore
5639 - MINOR: htx: Add a function to know if a block is the only one in a message
5640 - MAJOR: htx: Remove the EOM block type and use HTX_FL_EOM instead
5641 - MINOR: mux-h1: Add a flag on H1 streams with a response known to be bodyless
5642 - MEDIUM: mux-h1: Don't emit any payload for bodyless responses
5643 - MINOR: mux-h1: Don't emit C-L and T-E headers for 204 and 1xx responses
5644 - MINOR: mux-h1: Don't add Connection close/keep-alive header for 1xx messages
5645 - MINOR: h2/mux-h2: Add flags to notify the response is known to have no body
5646 - MEDIUM: mux-h2: Don't emit DATA frame for bodyless responses
5647 - MEDIUM: http-ana: Deal with L7 retries in HTTP analysers
5648 - MINOR: h1: reject websocket handshake if missing key
5649 - MEDIUM: h1: generate WebSocket key on response if needed
5650 - MINOR: mux_h2: define H2_SF_EXT_CONNECT_SENT stream flag
5651 - MEDIUM: h2: parse Extended CONNECT reponse to htx
5652 - MEDIUM: mux_h2: generate Extended CONNECT from htx upgrade
5653 - MEDIUM: h1: add a WebSocket key on handshake if needed
5654 - MEDIUM: mux_h2: generate Extended CONNECT response
5655 - MEDIUM: h2: parse Extended CONNECT request to htx
5656 - MEDIUM: h2: send connect protocol h2 settings
5657 - MINOR: vtc: add test for h1/h2 protocol upgrade translation
5658 - MINOR: vtc: add websocket test
5659 - REGTESTS: Fix required versions for several scripts
5660 - REGTEST: Don't use the websocket to validate http-check
5661 - MINOR: mux-h1/trace: add traces at level ERROR for all kind of errors
5662 - MINOR: mux-fcgi/trace: add traces at level ERROR for all kind of errors
5663 - MINOR: h1: Raise the chunk size limit up to (2^52 - 1)
5664 - BUG/MEDIUM: listener: do not accept connections faster than we can process them
5665 - REGTESTS: set_ssl_server_cert.vtc: set as broken
5666 - Revert "BUG/MEDIUM: listener: do not accept connections faster than we can process them"
5667 - BUG/MINOR: backend: check available list allocation for reuse
5668 - CI: Fix the coverity builds
5669 - DOC: management: fix "show resolvers" alphabetical ordering
5670 - MINOR: tools: add print_time_short() to print a condensed duration value
5671 - MINOR: activity: make profiling more manageable
5672 - MINOR: activity: declare a new structure to collect per-function activity
5673 - MEDIUM: tasks/activity: collect per-task statistics when profiling is enabled
5674 - MINOR: activity: also report collected tasks stats in "show profiling"
5675 - MINOR: activity: flush scheduler stats on "set profiling tasks on"
5676 - MINOR: activity: add a new "show tasks" command to list currently active tasks
5677 - MINOR: listener: export accept_queue_process
5678 - MINOR: session: export session_expire_embryonic()
5679 - MINOR: muxes: export the timeout and shutr task handlers
5680 - MINOR: checks: export a few functions that appear often in trace dumps
5681 - MINOR: peers: export process_peer_sync() to improve traces
5682 - MINOR: stick-tables: export process_table_expire()
5683 - MINOR: mux-h1: Remove first useless test on count in h1_process_output()
5684 - BUG/MINOR: stick-table: Always call smp_fetch_src() with a valid arg list
5685 - MINOR: http-fetch: Don't check if argument list is set in sample fetches
5686 - MINOR: http-conv: Don't check if argument list is set in sample converters
5687 - MINOR: sample: Don't check if argument list is set in sample fetches
5688 - MINOR: ssl-sample: Don't check if argument list is set in sample fetches
5689 - MINOR: mux-h2: Don't tests the start-line when sending HEADERS frame
5690 - MINOR: mux-h2: Slightly improve request HEADERS frames sending
5691 - MINOR: contrib/prometheus-exporter: declare states for objects
5692 - MAJOR: contrib/prometheus-exporter: move ftd/bkd/srv states to labels
5693 - MEDIUM: contrib/prometheus-exporter: Use dynamic labels instead of static ones
5694 - MINOR: listener: export manage_global_listener_queue()
5695 - BUG/MINOR: activity: take care of late wakeups in "show tasks"
5696 - REGTESTS: set_ssl_server_cert.vtc: remove SSL caching and set as working
5697 - REGTESTS: set_ssl_server_cert: cleanup the SSL caching option
5698 - MINOR: checks: Add function to get the result code corresponding to a status
5699 - MAJOR: contrib/prometheus-exporter: move health check status to labels
5700 - MINOR: contrib/prometheus-exporter: improve service status description field
5701 - MINOR: stats: improve pending connections description
5702 - MINOR: stats: improve max stats descriptions
5703 - MINOR: contrib/prometheus-exporter: use stats desc when possible
5704 - MINOR: contrib/prometheus-exporter: add uweight field
5705 - MINOR: contrib/prometheus-exporter: add recv logs_logs_total field
5706 - CLEANUP: contrib/prometheus-exporter: remove unused includes
5707 - CLEANUP: contrib/prometheus-exporter: align and reorder fields
5708 - CLEANUP: contrib/prometheus-exporter: remove description in README
5709 - DOC: contrib/prometheus-exporter: Add missing metrics in README
5710 - BUG/MINOR: contrib/prometheus-exporter: Add missing label for ST_F_HRSP_1XX
5711 - BUG/MINOR: contrib/prometheus-exporter: Restart labels dump at the right pos
5712 - BUG/MEDIUM: ssl/cli: abort ssl cert is freeing the old store
5713 - BUG/MEDIUM: ssl: check a connection's status before computing a handshake
5714 - BUG/MINOR: mux_h2: fix incorrect stat titles
5715 - MINOR: ssl/cli: flush the server session cache upon 'commit ssl cert'
5716 - BUG/MINOR: cli: fix set server addr/port coherency with health checks
5717 - MINOR: server: Don't set the check port during the update from a state file
5718 - MINOR: dns: Don't set the check port during a server dns resolution
5719 - MEDIUM: check: remove checkport checkaddr flag
5720 - MEDIUM: server: adding support for check_port in server state
5721 - BUG/MINOR: check: consitent way to set agentaddr
5722 - MEDIUM: check: align agentaddr and agentport behaviour
5723 - DOC: server: Add missing params in comment of the server state line parsing
5724 - BUG/MINOR: xxhash: make sure armv6 uses memcpy()
5725 - REGTESTS: mark http-check-send.vtc as 2.4-only
5726 - REGTESTS: mark sample_fetches/hashes.vtc as 2.4-only
5727 - BUG/MINOR: ssl: do not try to use early data if not configured
5728 - REGTESTS: unbreak http-check-send.vtc
5729 - MINOR: cli/show_fd: report local and report ports when known
5730 - BUILD: Makefile: move REGTESTST_TYPE default setting
5731 - BUG/MEDIUM: mux-h2: handle remaining read0 cases
5732 - CLEANUP: http-htx: Set buffer area to NULL instead of malloc(0)
5733 - BUG/MINOR: sock: Unclosed fd in case of connection allocation failure
5734 - BUG/MEDIUM: mux-h2: do not quit the demux loop before setting END_REACHED
5735
5736 2021/01/22 : 2.4-dev6
5737 - MINOR: converter: adding support for url_enc
5738 - BUILD: SSL: guard TLS13 ciphersuites with HAVE_SSL_CTX_SET_CIPHERSUITES
5739 - BUILD: ssl: guard EVP_PKEY_get_default_digest_nid with ASN1_PKEY_CTRL_DEFAULT_MD_NID
5740 - BUILD: ssl: guard openssl specific with SSL_READ_EARLY_DATA_SUCCESS
5741 - BUILD: Makefile: exclude broken tests by default
5742 - CLEANUP: cfgparse: replace "realloc" with "my_realloc2" to fix to memory leak on error
5743 - BUG/MINOR: hlua: Fix memory leak in hlua_alloc
5744 - MINOR: contrib/prometheus-exporter: export build_info
5745 - DOC: fix some spelling issues over multiple files
5746 - CLEANUP: Fix spelling errors in comments
5747 - SCRIPTS: announce-release: fix typo in help message
5748 - CI: github: add a few more words to the codespell ignore list
5749 - DOC: Add maintainers for the Prometheus exporter
5750 - BUG/MINOR: sample: fix concat() converter's corruption with non-string variables
5751 - BUG/MINOR: server: Memory leak of proxy.used_server_addr during deinit
5752 - CLEANUP: sample: remove uneeded check in json validation
5753 - MINOR: reg-tests: add a way to add service dependency
5754 - BUG/MINOR: sample: check alloc_trash_chunk return value in concat()
5755 - BUG/MINOR: reg-tests: fix service dependency script
5756 - MINOR: reg-tests: add base prometheus test
5757 - Revert "BUG/MINOR: dns: SRV records ignores duplicated AR records"
5758 - BUG/MINOR: sample: Memory leak of sample_expr structure in case of error
5759 - BUG/MINOR: check: Don't perform any check on servers defined in a frontend
5760 - BUG/MINOR: init: enforce strict-limits when using master-worker
5761 - MINOR: contrib/prometheus-exporter: avoid connection close header
5762 - MINOR: contrib/prometheus-exporter: use fill_info for process dump
5763 - BUG/MINOR: init: Use a dynamic buffer to set HAPROXY_CFGFILES env variable
5764 - MINOR: config: Add failifnotcap() to emit an alert on proxy capabilities
5765 - MINOR: server: Forbid server definitions in frontend sections
5766 - BUG/MINOR: threads: Fixes the number of possible cpus report for Mac.
5767 - CLEANUP: pattern: rename pat_ref_commit() to pat_ref_commit_elt()
5768 - MINOR: pattern: add the missing generation ID manipulation functions
5769 - MINOR: peers: Add traces for peer control messages.
5770 - BUG/MINOR: dns: SRV records ignores duplicated AR records (v2)
5771 - BUILD: peers: fix build warning about unused variable
5772 - BUG/MEDIUM: stats: add missing INF_BUILD_INFO definition
5773 - MINOR: cache: Do not store responses with an unknown encoding
5774 - BUG/MINOR: peers: Possible appctx pointer dereference.
5775 - MINOR: build: discard echoing in help target
5776 - MINOR: cache: Remove the `hash` part of the accept-encoding secondary key
5777 - CLEANUP: cache: Use proper data types in secondary_key_cmp()
5778 - CLEANUP: Rename accept_encoding_hash_cmp to accept_encoding_bitmap_cmp
5779 - BUG/MINOR: peers: Wrong "new_conn" value for "show peers" CLI command.
5780 - MINOR: contrib: Make the wireshark peers dissector compile for more distribs.
5781 - BUG/MINOR: mux_h2: missing space between "st" and ".flg" in the "show fd" helper
5782 - CLEANUP: tools: make resolve_sym_name() take a const pointer
5783 - CLEANUP: cli: make "show fd" use a const connection to access other fields
5784 - MINOR: cli: make "show fd" also report the xprt and xprt_ctx
5785 - MINOR: xprt: add a new show_fd() helper to complete some "show fd" dumps.
5786 - MINOR: ssl: provide a "show fd" helper to report important SSL information
5787 - MINOR: xprt/mux: export all *_io_cb functions so that "show fd" resolves them
5788 - MINOR: mux-h2: make the "show fd" helper also decode the h2s subscriber when known
5789 - MINOR: mux-h1: make the "show fd" helper also decode the h1s subscriber when known
5790 - MINOR: mux-fcgi: make the "show fd" helper also decode the fstrm subscriber when known
5791 - CI: Pin VTest to a known good commit
5792 - MINOR: cli: give the show_fd helpers the ability to report a suspicious entry
5793 - MINOR: cli/show_fd: report some easily detectable suspicious states
5794 - MINOR: ssl/show_fd: report some FDs as suspicious when possible
5795 - MINOR: mux-h2/show_fd: report as suspicious an entry with too many calls
5796 - MINOR: mux-h1/show_fd: report as suspicious an entry with too many calls
5797 - BUG/MINOR: mworker: define _GNU_SOURCE for strsignal()
5798 - BUG/MEDIUM: tcpcheck: Don't destroy connection in the wake callback context
5799 - BUG/MEDIUM: mux-h2: Xfer rxbuf to the upper layer when creating a front stream
5800 - MINOR: http: Add HTTP 501-not-implemented error message
5801 - MINOR: muxes: Add exit status for errors about not implemented features
5802 - MINOR: mux-h1: Be prepared to return 501-not-implemented error during parsing
5803 - MEDIUM: mux-h1: Return a 501-not-implemented for upgrade requests with a body
5804 - DOC: Remove space after comma in converter signature
5805 - DOC: Rename '<var name>' to '<var>' in converter signature
5806 - MINOR: stats: duplicate 3 fields in bytes in info
5807 - MINOR: stats: add new start time field
5808 - MINOR: contrib/prometheus-exporter: merge info description from stats
5809 - MEDIUM: stats: allow to select one field in `stats_fill_fe_stats`
5810 - MINOR: contrib/prometheus-exporter: use fill_fe_stats for frontend dump
5811 - MINOR: contrib/prometheus-exporter: Don't needlessly set empty label for metrics
5812 - MINOR: contrib/prometheus-exporter: Split the PROMEX_FL_STATS_METRIC flag
5813 - MINOR: contrib/prometheus-exporter: Add promex_metric struct defining a metric
5814 - MEDIUM: contrib/prometheus-exporter: Rework matrices defining Promex metrics
5815 - BUG/MINOR: stream: Don't update counters when TCP to H2 upgrades are performed
5816 - BUG/MEDIUM: mux-h2: fix read0 handling on partial frames
5817 - MINOR: debug: always export the my_backtrace function
5818 - MINOR: debug: extract the backtrace dumping code to its own function
5819 - MINOR: debug: create ha_backtrace_to_stderr() to dump an instant backtrace
5820 - MEDIUM: debug: now always print a backtrace on CRASH_NOW() and friends
5821 - MINOR: debug: let ha_dump_backtrace() dump a bit further for some callers
5822 - BUILD: debug: fix build warning by consuming the write() result
5823 - MINOR: lua: remove unused variable
5824 - BUILD/MINOR: lua: define _GNU_SOURCE for LLONG_MAX
5825
5826 2021/01/06 : 2.4-dev5
5827 - BUG/MEDIUM: mux_h2: Add missing braces in h2_snd_buf()around trace+wakeup
5828 - BUILD: hpack: hpack-tbl-t.h uses VAR_ARRAY but does not include compiler.h
5829 - MINOR: time: increase the minimum wakeup interval to 60s
5830 - MINOR: check: do not ignore a connection header for http-check send
5831 - REGTESTS: complete http-check test
5832 - CI: travis-ci: drop coverity scan builds
5833 - MINOR: atomic: don't use ; to separate instruction on aarch64.
5834 - IMPORT: xxhash: update to v0.8.0 that introduces stable XXH3 variant
5835 - MEDIUM: xxhash: use the XXH3 functions to generate 64-bit hashes
5836 - MEDIUM: xxhash: use the XXH_INLINE_ALL macro to inline all functions
5837 - CLEANUP: xxhash: remove the unused src/xxhash.c
5838 - MINOR: sample: add the xxh3 converter
5839 - REGTESTS: add tests for the xxh3 converter
5840 - MINOR: protocol: Create proto_quic QUIC protocol layer.
5841 - MINOR: connection: Attach a "quic_conn" struct to "connection" struct.
5842 - MINOR: quic: Redefine control layer callbacks which are QUIC specific.
5843 - MINOR: ssl_sock: Initialize BIO and SSL objects outside of ssl_sock_init()
5844 - MINOR: connection: Add a new xprt to connection.
5845 - MINOR: ssl: Export definitions required by QUIC.
5846 - MINOR: cfgparse: Do not modify the QUIC xprt when parsing "ssl".
5847 - MINOR: tools: Add support for QUIC addresses parsing.
5848 - MINOR: quic: Add definitions for QUIC protocol.
5849 - MINOR: quic: Import C source code files for QUIC protocol.
5850 - MINOR: listener: Add QUIC info to listeners and receivers.
5851 - MINOR: server: Add QUIC definitions to servers.
5852 - MINOR: ssl: SSL CTX initialization modifications for QUIC.
5853 - MINOR: ssl: QUIC transport parameters parsing.
5854 - MINOR: quic: QUIC socket management finalization.
5855 - MINOR: cfgparse: QUIC default server transport parameters init.
5856 - MINOR: quic: Enable the compilation of QUIC modules.
5857 - MAJOR: quic: Make usage of ebtrees to store QUIC ACK ranges.
5858 - MINOR: quic: Attempt to make trace more readable
5859 - MINOR: quic: Make usage of the congestion control window.
5860 - MINOR: quic: Flag RX packet as ack-eliciting from the generic parser.
5861 - MINOR: quic: Code reordering to help in reviewing/modifying.
5862 - MINOR: quic: Add traces to congestion avoidance NewReno callback.
5863 - MINOR: quic: Display the SSL alert in ->ssl_send_alert() callback.
5864 - MINOR: quic: Update the initial salt to that of draft-29.
5865 - MINOR: quic: Add traces for in flght ack-eliciting packet counter.
5866 - MINOR: quic: make a packet build fails when qc_build_frm() fails.
5867 - MINOR: quic: Add traces for quic_packet_encrypt().
5868 - MINOR: cache: Refactoring of secondary_key building functions
5869 - MINOR: cache: Avoid storing responses whose secondary key was not correctly calculated
5870 - BUG/MINOR: cache: Manage multiple headers in accept-encoding normalization
5871 - MINOR: cache: Add specific secondary key comparison mechanism
5872 - MINOR: http: Add helper functions to trim spaces and tabs
5873 - MEDIUM: cache: Manage a subset of encodings in accept-encoding normalizer
5874 - REGTESTS: cache: Simplify vary.vtc file
5875 - REGTESTS: cache: Add a specific test for the accept-encoding normalizer
5876 - MINOR: cache: Remove redundant test in http_action_req_cache_use
5877 - MINOR: cache: Replace the "process-vary" option's expected values
5878 - CI: GitHub Actions: enable daily Coverity scan
5879 - BUG/MEDIUM: cache: Fix hash collision in `accept-encoding` handling for `Vary`
5880 - MEDIUM: stick-tables: Add srvkey option to stick-table
5881 - REGTESTS: add test for stickiness using "srvkey addr"
5882 - BUILD: Makefile: disable -Warray-bounds until it's fixed in gcc 11
5883 - BUG/MINOR: sink: Return an allocation failure in __sink_new if strdup() fails
5884 - BUG/MINOR: lua: Fix memory leak error cases in hlua_config_prepend_path
5885 - MINOR: lua: Use consistent error message 'memory allocation failed'
5886 - CLEANUP: Compare the return value of `XXXcmp()` functions with zero
5887 - CLEANUP: Apply the coccinelle patch for `XXXcmp()` on include/
5888 - CLEANUP: Apply the coccinelle patch for `XXXcmp()` on contrib/
5889 - MINOR: qpack: Add static header table definitions for QPACK.
5890 - CLEANUP: qpack: Wrong comment about the draft for QPACK static header table.
5891 - CLEANUP: quic: Remove useless QUIC event trace definitions.
5892 - BUG/MINOR: quic: Possible CRYPTO frame building errors.
5893 - MINOR: quic: Pass quic_conn struct to frame parsers.
5894 - BUG/MINOR: quic: Wrong STREAM frames parsing.
5895 - MINOR: quic: Drop packets with STREAM frames with wrong direction.
5896 - CLEANUP: ssl: Remove useless loop in tlskeys_list_get_next()
5897 - CLEANUP: ssl: Remove useless local variable in tlskeys_list_get_next()
5898 - MINOR: ssl: make tlskeys_list_get_next() take a list element
5899 - Revert "BUILD: Makefile: disable -Warray-bounds until it's fixed in gcc 11"
5900 - BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for `use_backend` fails
5901 - CLEANUP: mworker: remove duplicate pointer tests in cfg_parse_program()
5902 - CLEANUP: Reduce scope of `header_name` in http_action_store_cache()
5903 - CLEANUP: Reduce scope of `hdr_age` in http_action_store_cache()
5904 - CLEANUP: spoe: fix typo on `var_check_arg` comment
5905 - BUG/MINOR: tcpcheck: Report a L7OK if the last evaluated rule is a send rule
5906 - CI: github actions: build several popular "contrib" tools
5907 - DOC: Improve the message printed when running `make` w/o `TARGET`
5908 - BUG/MEDIUM: server: srv_set_addr_desc() crashes when a server has no address
5909 - REGTESTS: add unresolvable servers to srvkey-addr
5910 - BUG/MINOR: stats: Make stat_l variable used to dump a stat line thread local
5911 - BUG/MINOR: quic: NULL pointer dereferences when building post handshake frames.
5912 - SCRIPTS: improve announce-release to support different tag and versions
5913 - SCRIPTS: make announce release support preparing announces before tag exists
5914 - CLEANUP: assorted typo fixes in the code and comments
5915 - BUG/MINOR: srv: do not init address if backend is disabled
5916 - BUG/MINOR: srv: do not cleanup idle conns if pool max is null
5917 - CLEANUP: assorted typo fixes in the code and comments
5918 - CLEANUP: few extra typo and fixes over last one ("ot" -> "to")
5919
5920 2020/12/21 : 2.4-dev4
5921 - BUG/MEDIUM: lb-leastconn: Reposition a server using the right eweight
5922 - BUG/MEDIUM: mux-h1: Fix a deadlock when a 408 error is pending for a client
5923 - BUG/MEDIUM: ssl/crt-list: bad behavior with "commit ssl cert"
5924 - BUG/MAJOR: cache: Crash because of disabled entry not removed from the tree
5925 - BUILD: SSL: fine guard for SSL_CTX_add_server_custom_ext call
5926 - MEDIUM: cache: Add a secondary entry counter and insertion limitation
5927 - MEDIUM: cache: Avoid going over duplicates lists too often
5928 - MINOR: cache: Add a max-secondary-entries cache option
5929 - CI: cirrus: drop CentOS 6 builds
5930 - BUILD: Makefile: have "make clean" destroy .o/.a/.s in contrib subdirs as well
5931 - MINOR: vars: replace static functions with global ones
5932 - MINOR: opentracing: add ARGC_OT enum
5933 - CONTRIB: opentracing: add the OpenTracing filter
5934 - DOC: opentracing: add the OpenTracing filter section
5935 - REGTESTS: make use of HAPROXY_ARGS and pass -dM by default
5936 - BUG/MINOR: http: Establish a tunnel for all 2xx responses to a CONNECT
5937 - BUG/MINOR: mux-h1: Don't set CS_FL_EOI too early for protocol upgrade requests
5938 - BUG/MEDIUM: http-ana: Never for sending data in TUNNEL mode
5939 - CLEANUP: mux-h2: Rename h2s_frt_make_resp_data() to be generic
5940 - CLEANUP: mux-h2: Rename h2c_frt_handle_data() to be generic
5941 - BUG/MEDIUM: mux-h1: Handle h1_process() failures on a pipelined request
5942 - CLEANUP: debug: mark the RNG's seed as unsigned
5943 - CONTRIB: halog: fix build issue caused by %L printf format
5944 - CONTRIB: halog: mark the has_zero* functions unused
5945 - CONTRIB: halog: fix signed/unsigned build warnings on counts and timestamps
5946 - CONTRIB: debug: address "poll" utility build on non-linux platforms
5947 - BUILD: plock: remove dead code that causes a warning in gcc 11
5948 - BUILD: ssl: fine guard for SSL_CTX_get0_privatekey call
5949 - BUG/MINOR: dns: SRV records ignores duplicated AR records
5950 - DOC: fix "smp_size" vs "sample_size" in "log" directive arguments
5951 - CLEANUP: assorted typo fixes in the code and comments
5952 - DOC: assorted typo fixes in the documentation
5953 - CI: codespell: whitelist "te" and "nd" words
5954
5955 2020/12/11 : 2.4-dev3
5956 - MINOR: log: Logging HTTP path only with %HPO
5957 - BUG/MINOR: mux-h2/stats: make stream/connection proto errors more accurate
5958 - MINOR: traces: add a new level "error" below the "user" level
5959 - MINOR: mux-h2/trace: add traces at level ERROR for protocol errors
5960 - BUG/MINOR: mux-h2/stats: not all GOAWAY frames are errors
5961 - BUG/MINOR: lua: missing "\n" in error message
5962 - BUG/MINOR: lua: lua-load doesn't check its parameters
5963 - BUG/MINOR: lua: Post init register function are not executed beyond the first one
5964 - BUG/MINOR: lua: Some lua init operation are processed unsafe
5965 - MINOR: actions: Export actions lookup functions
5966 - MINOR: actions: add a function returning a service pointer from its name
5967 - MINOR: cli: add a function to look up a CLI service description
5968 - BUG/MINOR: lua: warn when registering action, conv, sf, cli or applet multiple times
5969 - MINOR: cache: Improve accept_encoding_normalizer
5970 - MINOR: cache: Add entry to the tree as soon as possible
5971 - BUG/MINOR: trace: Wrong displayed trace level
5972 - BUG/MAJOR: ring: tcp forward on ring can break the reader counter.
5973 - MINOR: lua: simplify hlua_alloc() to only rely on realloc()
5974 - MEDIUM: lua-thread: use atomics for memory accounting
5975 - MINOR: lua-thread: remove struct hlua from function hlua_prepend_path()
5976 - MEDIUM: lua-thread: make hlua_post_init() no longer use the runtime execution function
5977 - MINOR: lua-thread: hlua_ctx_renew() is never called with main gL lua state
5978 - MINOR: lua-thread: Use NULL context for main lua state
5979 - MINOR: lua-thread: Stop usage of struct hlua for the global lua state
5980 - MINOR: lua-thread: Replace embedded struct hlua_function by a pointer
5981 - MINOR: lua-thread: Split hlua_init() function in two parts
5982 - MINOR: lua-thread: make hlua_ctx_init() get L from its caller
5983 - MINOR: lua-thread: Split hlua_load function in two parts
5984 - MINOR: lua-thread: Split hlua_post_init() function in two parts
5985 - MINOR: lua-thread: Add the "thread" core variable
5986 - MEDIUM: lua-thread: No longer use locked context in initialization parts
5987 - MEDIUM: lua-thread: Apply lock only if the parent state is the main thread
5988 - MINOR: lua-thread: Replace global gL var with an array of states
5989 - MINOR: lua-thread: Replace "struct hlua_function" allocation by dedicated function
5990 - MINOR: lua-thread: Replace state_from by state_id
5991 - MINOR: lua-thread: Store each function reference and init reference in array
5992 - MEDIUM: lua-thread: Add the lua-load-per-thread directive
5993 - MINOR: lua-thread: Add verbosity in errors
5994 - REGTESTS: add a test for the threaded Lua code
5995 - BUILD/MINOR: haproxy DragonFlyBSD affinity build update.
5996 - DOC/MINOR: Fix formatting in Management Guide
5997 - MINOR: cache: Do not store stale entry
5998 - MINOR: cache: Add extra "cache-control" value checks
5999 - MEDIUM: cache: Remove cache entry in case of POST on the same resource
6000 - MINOR: cache: Consider invalid Age values as stale
6001 - BUG/MEDIUM: lua-thread: some parts must be initialized once
6002 - BUG/MINOR: lua-thread: close all states on deinit
6003 - BUG/MINOR: listener: use sockaddr_in6 for IPv6
6004 - BUG/MINOR: mux-h1: Handle keep-alive timeout for idle frontend connections
6005 - MINOR: session: Add the idle duration field into the session
6006 - MINOR: mux-h1: Update session idle duration when data are received
6007 - MINOR: mux-h1: Reset session dates and durations info when the CS is detached
6008 - MINOR: logs: Use session idle duration when no stream is provided
6009 - MINOR: stream: Always get idle duration from the session
6010 - MINOR: stream: Don't retrieve anymore timing info from the mux csinfo
6011 - MINOR: mux-h1: Don't provide anymore timing info using cs_info structure
6012 - MINOR: muxes: Remove get_cs_info callback function now useless
6013 - MINOR: stream: Pass an optional input buffer when a stream is created
6014 - MINOR: mux-h1: Add a flag to disable reads to wait opposite side
6015 - MEDIUM: mux-h1: Use a h1c flag to block reads when splicing is in-progress
6016 - MINOR: mux-h1: Introduce H1C_F_IS_BACK flag on the H1 connection
6017 - MINOR: mux-h1: Separate parsing and formatting errors at H1 stream level
6018 - MINOR: mux-h1: Split front/back h1 stream creation in 2 functions
6019 - MINOR: mux-h1: Add a rxbuf into the H1 stream
6020 - MINOR: mux-h1: Don't set CS flags in internal parsing functions
6021 - MINOR: mux-h1: Add embryonic and attached states on the H1 connection
6022 - MINOR: mux-h1: rework the h1_timeout_task() function
6023 - MINOR: mux-h1: Reset more H1C flags when a H1 stream is destroyed
6024 - MINOR: mux-h1: Disable reads if an error was reported on the H1 stream
6025 - MINOR: mux-h1: Rework how shutdowns are handled
6026 - MINOR: mux-h1: Rework h1_refresh_timeout to be easier to read
6027 - MINOR: mux-h1: Process next request for IDLE connection only
6028 - MINOR: mux-h1: Add a idle expiration date on the H1 connection
6029 - MINOR: stick-tables: Add functions to update some values of a tracked counter
6030 - MINOR: session: Add functions to increase http values of tracked counters
6031 - MINOR: mux: Add a ctl parameter to get the exit status of the multiplexers
6032 - MINOR: logs: Get the multiplexer exist status when no stream is provided
6033 - MINOR: mux-h1: Add functions to send HTTP errors from the mux
6034 - MAJOR: mux-h1: Create the client stream as later as possible
6035 - DOC: config: Add notes about errors emitted by H1 mux
6036 - CLEANUP: mux-h1: Rename H1C_F_CS_* flags and reorder H1C flags
6037 - MINOR: http-ana: Remove useless update of t_idle duration of the stream
6038 - CLEANUP: htx: Remove HTX_FL_UPGRADE unsued flag
6039 - MEDIUM: http-ana: Don't process partial or empty request anymore
6040 - CLEANUP: http-ana: Remove TX_WAIT_NEXT_RQ unsued flag
6041 - CLEANUP: connection: Remove CS_FL_READ_PARTIAL flag
6042 - REGTESTS: Fix proxy_protocol_tlv_validation
6043 - MINOR: http-ana: Properly set message flags from the start-line flags
6044 - MINOR: h1-htx/http-ana: Set BODYLESS flag on message in TUNNEL state
6045 - MINOR: protocol: add a ->set_port() helper to address families
6046 - MINOR: listener: automatically set the port when creating listeners
6047 - MINOR: listener: now use a generic add_listener() function
6048 - MEDIUM: ssl: fatal error with bundle + openssl < 1.1.1
6049 - BUG/MEDIUM: stream: Xfer the input buffer to a fully created stream
6050 - BUG/MINOR: stream: Don't use input buffer after the ownership xfer
6051 - MINOR: protocol: remove the redundant ->sock_domain field
6052 - MINOR: protocol: export protocol definitions
6053 - CLEANUP: protocol: group protocol struct members by usage
6054 - MINOR: protocol: add a set of ctrl_init/ctrl_close methods for setup/teardown
6055 - MINOR: connection: use the control layer's init/close
6056 - MINOR: udp: export udp_suspend_receiver() and udp_resume_receiver()
6057 - BUG/MAJOR: spoa/python: Fixing return None
6058 - DOC: spoa/python: Fixing typo in IP related error messages
6059 - DOC: spoa/python: Rephrasing memory related error messages
6060 - DOC: spoa/python: Fixing typos in comments
6061 - BUG/MINOR: spoa/python: Cleanup references for failed Module Addobject operations
6062 - BUG/MINOR: spoa/python: Cleanup ipaddress objects if initialization fails
6063 - BUG/MEDIUM: spoa/python: Fixing PyObject_Call positional arguments
6064 - BUG/MEDIUM: spoa/python: Fixing references to None
6065 - DOC: email change of the DeviceAtlas maintainer
6066 - MINOR: cache: Dump secondary entries in "show cache"
6067 - CLEANUP: connection: use fd_stop_both() instead of conn_stop_polling()
6068 - MINOR: stream-int: don't touch polling anymore on shutdown
6069 - MINOR: connection: implement cs_drain_and_close()
6070 - MINOR: mux-pt: take care of CS_SHR_DRAIN in shutr()
6071 - MINOR: checks: use cs_drain_and_close() instead of draining the connection
6072 - MINOR: checks: don't call conn_cond_update_polling() anymore
6073 - CLEANUP: connection: open-code conn_cond_update_polling() and update the comment
6074 - CLEANUP: connection: remove the unused conn_{stop,cond_update}_polling()
6075 - BUG/MINOR: http-check: Use right condition to consider HTX message as full
6076 - BUG/MINOR: tcpcheck: Don't rearm the check timeout on each read
6077 - MINOR: tcpcheck: Only wait for more payload data on HTTP expect rules
6078 - BUG/MINOR: tools: make parse_time_err() more strict on the timer validity
6079 - BUG/MINOR: tools: Reject size format not starting by a digit
6080 - MINOR: action: define enum for timeout type of the set-timeout rule
6081 - MINOR: stream: prepare the hot refresh of timeouts
6082 - MEDIUM: stream: support a dynamic server timeout
6083 - MEDIUM: stream: support a dynamic tunnel timeout
6084 - MEDIUM: http_act: define set-timeout server/tunnel action
6085 - MINOR: frontend: add client timeout sample fetch
6086 - MINOR: backend: add timeout sample fetches
6087 - MINOR: stream: add sample fetches
6088 - MINOR: stream: add timeout sample fetches
6089 - REGTESTS: add regtest for http-request set-timeout
6090 - CLEANUP: remove the unused fd_stop_send() in conn_xprt_shutw{,_hard}()
6091 - CLEANUP: connection: remove the unneeded fd_stop_{recv,send} on read0/shutw
6092 - MINOR: connection: remove sock-specific code from conn_sock_send()
6093 - REORG: connection: move the socket iocb (conn_fd_handler) to sock.c
6094 - MINOR: protocol: add a ->drain() function at the connection control layer
6095 - MINOR: connection: make conn_sock_drain() use the control layer's ->drain()
6096 - MINOR: protocol: add a pair of check_events/ignore_events functions at the ctrl layer
6097 - MEDIUM: connection: make use of the control layer check_events/ignore_events
6098
6099 2020/12/01 : 2.4-dev2
6100 - BUILD: Make DEBUG part of .build_opts
6101 - BUILD: Show the value of DEBUG= in haproxy -vv
6102 - CI: Set DEBUG=-DDEBUG_STRICT=1 in GitHub Actions
6103 - MINOR: stream: Add level 7 retries on http error 401, 403
6104 - CLEANUP: remove unused function "ssl_sock_is_ckch_valid"
6105 - BUILD: SSL: add BoringSSL guarding to "RAND_keep_random_devices_open"
6106 - BUILD: SSL: do not "update" BoringSSL version equivalent anymore
6107 - BUG/MEDIUM: http_act: Restore init of log-format list
6108 - DOC: better describes how to configure a fallback crt
6109 - BUG/MAJOR: filters: Always keep all offsets up to date during data filtering
6110 - MINOR: cache: Prepare helper functions for Vary support
6111 - MEDIUM: cache: Add the Vary header support
6112 - MINOR: cache: Add a process-vary option that can enable/disable Vary processing
6113 - BUG/CRITICAL: cache: Fix trivial crash by sending accept-encoding header
6114 - BUG/MAJOR: peers: fix partial message decoding
6115 - DOC: cache: Add new caching limitation information
6116 - DOC: cache: Add information about Vary support
6117 - DOC: better document the config file format and escaping/quoting rules
6118 - DOC: Clarify %HP description in log-format
6119 - CI: github actions: update LibreSSL to 3.3.0
6120 - CI: github actions: enable 51degrees feature
6121 - MINOR: fd/threads: silence a build warning with threads disabled
6122 - BUG/MINOR: tcpcheck: Don't forget to reset tcp-check flags on new kind of check
6123 - MINOR: tcpcheck: Don't handle anymore in-progress send rules in tcpcheck_main
6124 - BUG/MAJOR: tcpcheck: Allocate input and output buffers from the buffer pool
6125 - MINOR: tcpcheck: Don't handle anymore in-progress connect rules in tcpcheck_main
6126 - MINOR: config: Deprecate and ignore tune.chksize global option
6127 - MINOR: config: Add a warning if tune.chksize is used
6128 - REORG: tcpcheck: Move check option parsing functions based on tcp-check
6129 - MINOR: check: Always increment check health counter on CONPASS
6130 - MINOR: tcpcheck: Add support of L7OKC on expect rules error-status argument
6131 - DOC: config: Make disable-on-404 option clearer on transition conditions
6132 - DOC: config: Move req.hdrs and req.hdrs_bin in L7 samples fetches section
6133 - BUG/MINOR: http-fetch: Fix smp_fetch_body() when called from a health-check
6134 - MINOR: plock: use an ARMv8 instruction barrier for the pause instruction
6135 - MINOR: debug: add "debug dev sched" to stress the scheduler.
6136 - MINOR: debug: add a trivial PRNG for scheduler stress-tests
6137 - BUG/MEDIUM: lists: Lock the element while we check if it is in a list.
6138 - MINOR: task: remove tasklet_insert_into_tasklet_list()
6139 - MINOR: task: perform atomic counter increments only once per wakeup
6140 - MINOR: task: remove __tasklet_remove_from_tasklet_list()
6141 - BUG/MEDIUM: task: close a possible data race condition on a tasklet's list link
6142 - BUG/MEDIUM: local log format regression.
6143
6144 2020/11/21 : 2.4-dev1
6145 - MINOR: ist: Add istend() function to return a pointer to the end of the string
6146 - MINOR: sample: Add converters to parse FIX messages
6147 - REGTEST: converter: Add a regtest for fix converters
6148 - MINOR: sample: Add converts to parses MQTT messages
6149 - REGTEST: converter: Add a regtest for MQTT converters
6150 - MINOR: compat: automatically include malloc.h on glibc
6151 - MEDIUM: pools: call malloc_trim() from pool_gc()
6152 - MEDIUM: pattern: call malloc_trim() on pat_ref_reload()
6153 - MINOR: pattern: move the update revision to the pat_ref, not the expression
6154 - CLEANUP: pattern: delete the back refs at once during pat_ref_reload()
6155 - MINOR: pattern: new sflag PAT_SF_REGFREE indicates regex_free() is needed
6156 - MINOR: pattern: make the delete and prune functions more generic
6157 - MEDIUM: pattern: link all final elements from the reference
6158 - MEDIUM: pattern: change the pat_del_* functions to delete from the references
6159 - MINOR: pattern: remerge the list and tree deletion functions
6160 - MINOR: pattern: perform a single call to pat_delete_gen() under the expression
6161 - CLEANUP: acl: don't reference the generic pattern deletion function anymore
6162 - CLEANUP: pattern: remove pat_delete_fcts[] and pattern_head->delete()
6163 - MINOR: pattern: introduce pat_ref_delete_by_ptr() to delete a valid reference
6164 - MINOR: pattern: store a generation number in the reference patterns
6165 - MEDIUM: pattern: only match patterns that match the current generation
6166 - MINOR: pattern: add pat_ref_commit() to commit a previously inserted element
6167 - MINOR: pattern: implement pat_ref_load() to load a pattern at a given generation
6168 - MINOR: pattern: add pat_ref_purge_older() to purge old entries
6169 - MEDIUM: pattern: make pat_ref_prune() rely on pat_ref_purge_older()
6170 - MINOR: pattern: during reload, delete elements frem the ref, not the expression
6171 - MINOR: pattern: prepare removal of a pattern from the list head
6172 - MEDIUM: pattern: turn the pattern chaining to single-linked list
6173 - CLEANUP: cfgparse: remove duplicate registration for transparent build options
6174 - BUG/MINOR: ssl: don't report 1024 bits DH param load error when it's higher
6175 - MINOR: http-htx: Add understandable errors for the errorfiles parsing
6176 - MINOR: ssl: instantiate stats module
6177 - MINOR: ssl: count client hello for stats
6178 - MINOR: ssl: add counters for ssl sessions
6179 - DOC: config: Fix a typo on ssl_c_chain_der
6180 - MINOR: server: remove idle lock in srv_cleanup_connections
6181 - BUILD: ssl: silence build warning on uninitialised counters
6182 - BUILD: http-htx: fix build warning regarding long type in printf
6183 - REGTEST: ssl: test wildcard and multi-type + exclusions
6184 - BUG/MEDIUM: ssl/crt-list: correctly insert crt-list line if crt already loaded
6185 - CI: Expand use of GitHub Actions for CI
6186 - REGTEST: ssl: mark reg-tests/ssl/ssl_crt-list_filters.vtc as broken
6187 - BUG/MINOR: pattern: a sample marked as const could be written
6188 - BUG/MINOR: lua: set buffer size during map lookups
6189 - MEDIUM: cache: Change caching conditions
6190 - BUG/MINOR: stats: free dynamically stats fields/lines on shutdown
6191 - BUG/MEDIUM: stats: prevent crash if counters not alloc with dummy one
6192 - MINOR: peers: Add traces to peer_treat_updatemsg().
6193 - BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries.
6194 - BUG/MINOR: peers: Missing TX cache entries reset.
6195 - BUG/MEDIUM: peers: fix decoding of multi-byte length in stick-table messages
6196 - BUG/MINOR: http-fetch: Extract cookie value even when no cookie name
6197 - BUG/MINOR: http-fetch: Fix calls w/o parentheses of the cookie sample fetches
6198 - BUG/MEDIUM: check: reuse srv proto only if using same mode
6199 - MINOR: check: report error on incompatible proto
6200 - MINOR: check: report error on incompatible connect proto
6201 - BUG/MINOR: http-htx: Handle warnings when parsing http-error and http-errors
6202 - BUG/MAJOR: spoe: Be sure to remove all references on a released spoe applet
6203 - MINOR: spoe: Don't close connection in sync mode on processing timeout
6204 - BUG/MINOR: tcpcheck: Don't warn on unused rules if check option is after
6205 - MINOR: init: Fix the prototype for per-thread free callbacks
6206 - MINOR: config/mux-h2: Return ERR_ flags from init_h2() instead of a status
6207 - CLEANUP: config: Return ERR_NONE from config callbacks instead of 0
6208 - MINOR: cfgparse: tighten the scope of newnameserver variable, free it on error.
6209 - REGTEST: make ssl_client_samples and ssl_server_samples require to 2.2
6210 - REGTESTS: Add sample_fetches/cook.vtc
6211 - BUG/MEDIUM: filters: Forward all filtered data at the end of http filtering
6212 - BUG/MINOR: http-ana: Don't wait for the body of CONNECT requests
6213 - CLEANUP: flt-trace: Remove unused random-parsing option
6214 - MINOR: flt-trace: Add an option to inhibits trace messages
6215 - MINOR: flt-trace: Use a bitfield for the trace options
6216 - REGTESTS: Add a script to test the random forwarding with several filters
6217 - REGTESTS: mark the abns test as broken again
6218 - REGTESTS: converter: add url_dec test
6219 - CI: Stop hijacking the hosts file
6220 - CI: Make the h2spec workflow more consistent with the VTest workflow
6221 - CI: travis-ci: remove amd64, osx builds
6222 - CI: travis-ci: arm64 are not allowed to fail anymore
6223 - DOC: add missing 3.10 in the summary
6224 - MINOR: ssl: remove client hello counters
6225 - MEDIUM: stats: add counters for failed handshake
6226 - MINOR: ssl: create common ssl_ctx init
6227 - MEDIUM: cli/ssl: configure ssl on server at runtime
6228 - REGTEST: server/cli_set_ssl.vtc requires OpenSSL
6229 - DOC: coding-style: update a few rules about pointers
6230 - BUG/MINOR: ssl: segv on startup when AKID but no keyid
6231 - BUILD: ssl: use SSL_MODE_ASYNC macro instead of OPENSSL_VERSION
6232 - BUG/MEDIUM: http-ana: Don't eval http-after-response ruleset on empty messages
6233 - BUG/MEDIUM: ssl/crt-list: bundle support broken in crt-list
6234 - BUG/MEDIUM: ssl: error when no certificate are found
6235 - BUG/MINOR: ssl/crt-list: load bundle in crt-list only if activated
6236 - BUG/MEDIUM: ssl/crt-list: fix error when no file found
6237 - CI: Github Actions: enable prometheus exporter
6238 - CI: Github Actions: remove LibreSSL-3.0.2 builds
6239 - CI: Github Actions: enable BoringSSL builds
6240 - CI: travis-ci: remove builds migrated to GH actions
6241 - BUILD: makefile: enable crypt(3) for OpenBSD
6242 - CI: Github Action: run "apt-get update" before packages restore
6243 - BUILD: SSL: guard TLS13 ciphersuites with HAVE_SSL_CTX_SET_CIPHERSUITES
6244 - CI: Pass the github.event_name to matrix.py
6245 - CI: Clean up Windows CI
6246 - DOC: clarify how to create a fallback crt
6247 - CLEANUP: connection: do not use conn->owner when the session is known
6248 - BUG/MAJOR: connection: reset conn->owner when detaching from session list
6249 - REGTESTS: mark proxy_protocol_random_fail as broken
6250 - BUG/MINOR: http_htx: Fix searching headers by substring
6251 - MINOR: http_act: Add -m flag for del-header name matching method
6252
6253 2020/11/05 : 2.4-dev0
6254 - MINOR: version: it's development again.
6255 - DOC: mention in INSTALL that it's development again
6256
6257 2020/11/05 : 2.3.0
6258 - CLEANUP: pattern: remove unused entry "tree" in pattern.val
6259 - BUILD: ssl: use SSL_CTRL_GET_RAW_CIPHERLIST instead of OpenSSL versions
6260 - BUG/MEDIUM: filters: Don't try to init filters for disabled proxies
6261 - BUG/MINOR: proxy/server: Skip per-proxy/server post-check for disabled proxies
6262 - BUG/MINOR: checks: Report a socket error before any connection attempt
6263 - BUG/MINOR: server: Set server without addr but with dns in RMAINT on startup
6264 - MINOR: server: Copy configuration file and line for server templates
6265 - BUG/MEDIUM: mux-pt: Release the tasklet during an HTTP upgrade
6266 - BUILD: ssl: use HAVE_OPENSSL_KEYLOG instead of OpenSSL versions
6267 - MINOR: debug: don't count free(NULL) in memstats
6268 - BUG/MINOR: filters: Skip disabled proxies during startup only
6269 - MINOR: mux_h2: capitalize frame type in stats
6270 - MINOR: mux_h2: add stat for total count of connections/streams
6271 - MINOR: stats: do not display empty stat module title on html
6272 - BUG/MEDIUM: stick-table: limit the time spent purging old entries
6273 - BUG/MEDIUM: listener: only enable a listening listener if needed
6274 - BUG/MEDIUM: listener: never suspend inherited sockets
6275 - BUG/MEDIUM: listener: make the master also keep workers' inherited FDs
6276 - MINOR: fd: add fd_want_recv_safe()
6277 - MEDIUM: listeners: make use of fd_want_recv_safe() to enable early receivers
6278 - REGTESTS: mark abns_socket as working now
6279 - CLEANUP: mux-h2: Remove the h1 parser state from the h2 stream
6280 - MINOR: sock: add a check against cross worker<->master socket activities
6281 - CI: github actions: limit OpenSSL no-deprecated builds to "default,bug,devel" reg-tests
6282 - BUG/MEDIUM: server: make it possible to kill last idle connections
6283 - MINOR: mworker/cli: the master CLI use its own applet
6284 - MINOR: ssl: define SSL_CTX_set1_curves_list to itself on BoringSSL
6285 - BUILD: ssl: use feature macros for detecting ec curves manipulation support
6286 - DOC: Add dns as an available domain to show stat
6287 - BUILD: makefile: usual reorder of objects for faster builds
6288 - DOC: update INSTALL to mention that TCC is supported
6289 - DOC: mention in INSTALL that haproxy 2.3 is a stable version
6290 - MINOR: version: mention that it's stable now
6291
6292 2020/10/31 : 2.3-dev9
6293 - CLEANUP: http_ana: remove unused assignation of `att_beg`
6294 - BUG/MEDIUM: ssl: OCSP must work with BoringSSL
6295 - BUG/MINOR: log: fix memory leak on logsrv parse error
6296 - BUG/MINOR: log: fix risk of null deref on error path
6297 - BUILD: ssl: more elegant OpenSSL early data support check
6298 - CI: github actions: update h2spec to 2.6.0
6299 - BUG/MINOR: cache: Check the return value of http_replace_res_status
6300 - MINOR: cache: Store the "Last-Modified" date in the cache_entry
6301 - MINOR: cache: Process the If-Modified-Since header in conditional requests
6302 - MINOR: cache: Create res.cache_hit and res.cache_name sample fetches
6303 - MINOR: mux-h2: register a stats module
6304 - MINOR: mux-h2: add counters instance to h2c
6305 - MINOR: mux-h2: add stats for received frame types
6306 - MINOR: mux-h2: report detected error on stats
6307 - MINOR: mux-h2: count open connections/streams on stats
6308 - BUG/MINOR: server: fix srv downtime calcul on starting
6309 - BUG/MINOR: server: fix down_time report for stats
6310 - BUG/MINOR: lua: initialize sample before using it
6311 - MINOR: cache: Add Expires header value parsing
6312 - MINOR: ist: Add a case insensitive istmatch function
6313 - BUG/MINOR: cache: Manage multiple values in cache-control header value
6314 - BUG/MINOR: cache: Inverted variables in http_calc_maxage function
6315 - MINOR: pattern: make pat_ref_append() return the newly added element
6316 - MINOR: pattern: make pat_ref_add() rely on pat_ref_append()
6317 - MINOR: pattern: export pat_ref_push()
6318 - CLEANUP: pattern: use calloc() rather than malloc for structures
6319 - CLEANUP: pattern: fix spelling/grammatical/copy-paste in comments
6320
6321 2020/10/24 : 2.3-dev8
6322 - MINOR: backend: replace the lbprm lock with an rwlock
6323 - MINOR: lb/map: use seek lock and read locks where appropriate
6324 - MINOR: lb/leastconn: only take a read lock in fwlc_get_next_server()
6325 - MINOR: lb/first: use a read lock in fas_get_next_server()
6326 - MINOR: lb/chash: use a read lock in chash_get_server_hash()
6327 - BUG/MINOR: disable dynamic OCSP load with BoringSSL
6328 - BUILD: ssl: make BoringSSL use its own version numbers
6329 - CLEANUP: threads: don't register an initcall when not debugging
6330 - MINOR: threads: change lock_t to an unsigned int
6331 - CLEANUP: tree-wide: reorder a few structures to plug some holes around locks
6332 - CLEANUP: task: remove the unused and mishandled global_rqueue_size
6333 - BUG/MEDIUM: connection: Never cleanup server lists when freeing private conns
6334 - MEDIUM: config: report that "nbproc" is deprecated
6335 - BUG/MINOR: listener: close before free in `listener_accept`
6336 - MINOR: ssl: 'ssl-load-extra-del-ext' removes the certificate extension
6337 - BUG/MINOR: queue: properly report redistributed connections
6338 - CONTRIB: tcploop: remove unused local variables in tcp_pause()
6339 - BUILD: makefile: add entries to build common debugging tools
6340 - BUG/MEDIUM: server: support changing the slowstart value from state-file
6341 - MINOR: http: Add `enum etag_type http_get_etag_type(const struct ist)`
6342 - MINOR: http: Add etag comparison function
6343 - MEDIUM: cache: Store the ETag information in the cache_entry
6344 - MEDIUM: cache: Add support for 'If-None-Match' request header
6345 - REGTEST: cache: Add if-none-match test case
6346 - CLEANUP: compression: Make use of http_get_etag_type()
6347 - BUG/MINOR: http-ana: Don't send payload for internal responses to HEAD requests
6348 - BUG/MAJOR: mux-h2: Don't try to send data if we know it is no longer possible
6349 - MINOR: threads/debug: only report used lock stats
6350 - MINOR: threads/debug: only report lock stats for used operations
6351 - MINOR: proxy; replace the spinlock with an rwlock
6352 - MINOR: server: read-lock the cookie during srv_set_dyncookie()
6353 - MINOR: proxy/cli: only take a read lock in "show errors"
6354 - OPTIM: queue: don't call pendconn_unlink() when the pendconn is not queued
6355 - MINOR: queue: split __pendconn_unlink() in per-srv and per-prx
6356 - MINOR: queue: reduce the locked area in pendconn_add()
6357 - OPTIM: queue: make the nbpend counters atomic
6358 - OPTIM: queue: decrement the nbpend and totpend counters outside of the lock
6359 - MINOR: leastconn: take the queue length into account when queuing servers
6360 - MEDIUM: fwlc: re-enable per-server queuing up to maxqueue
6361 - Revert "OPTIM: queue: don't call pendconn_unlink() when the pendconn is not queued"
6362 - MINOR: stats: support the "up" output modifier for "show stat"
6363 - MINOR: stats: also support a "no-maint" show stat modifier
6364 - MINOR: stats: indicate the number of servers in a backend's status
6365 - MEDIUM: ssl: ssl-load-extra-del-ext work only with .crt
6366 - REGTEST: ssl: test "set ssl cert" with separate key / crt
6367 - DOC: management: apply the "show stat" modifiers to "show stat", not "show info"
6368 - MINOR: stats: report server's user-configured weight next to effective weight
6369 - CI: travis-ci: switch to Ubuntu 20.04
6370 - CONTRIB: release-estimator: Add release estimating tool
6371 - BUG/MEDIUM: queue: fix unsafe proxy pointer when counting nbpend
6372 - BUG/MINOR: extcheck: add missing checks on extchk_setenv()
6373
6374 2020/10/17 : 2.3-dev7
6375 - CI: travis-ci: replace not defined SSL_LIB, SSL_INC for BotringSSL builds
6376 - BUG/MINOR: init: only keep rlim_fd_cur if max is unlimited
6377 - BUG/MINOR: mux-h2: do not stop outgoing connections on stopping
6378 - MINOR: fd: report an error message when failing initial allocations
6379 - MINOR: proto-tcp: make use of connect(AF_UNSPEC) for the pause
6380 - MINOR: sock: add sock_accept_conn() to test a listening socket
6381 - MINOR: protocol: make proto_tcp & proto_uxst report listening sockets
6382 - MINOR: sockpair: implement the .rx_listening function
6383 - CLEANUP: tcp: make use of sock_accept_conn() where relevant
6384 - CLEANUP: unix: make use of sock_accept_conn() where relevant
6385 - BUG/MINOR: listener: detect and handle shared sockets stopped in other processes
6386 - CONTRIB: tcploop: implement a disconnect operation 'D'
6387 - CLEANUP: protocol: intitialize all of the sockaddr when disconnecting
6388 - BUG/MEDIUM: deinit: check fdtab before fdtab[fd].owner
6389 - BUG/MINOR: connection: fix loop iter on connection takeover
6390 - BUG/MEDIUM: connection: fix srv idle count on conn takeover
6391 - MINOR: connection: improve list api usage
6392 - MINOR: mux/connection: add a new mux flag for HOL risk
6393 - MINOR: connection: don't check priv flag on free
6394 - MEDIUM: backend: add new conn to session if mux marked as HOL blocking
6395 - MEDIUM: backend: add reused conn to sess if mux marked as HOL blocking
6396 - MEDIUM: h2: remove conn from session on detach
6397 - MEDIUM: fcgi: remove conn from session on detach
6398 - DOC: Describe reuse safe for HOL handling
6399 - MEDIUM: proxy: remove obsolete "mode health"
6400 - MEDIUM: proxy: remove obsolete "monitor-net"
6401 - CLEANUP: protocol: remove the ->drain() function
6402 - CLEANUP: fd: finally get rid of fd_done_recv()
6403 - MINOR: connection: make sockaddr_alloc() take the address to be copied
6404 - MEDIUM: listener: allocate the connection before queuing a new connection
6405 - MINOR: session: simplify error path in session_accept_fd()
6406 - MINOR: connection: add new error codes for accept_conn()
6407 - MINOR: sock: rename sock_accept_conn() to sock_accepting_conn()
6408 - MINOR: protocol: add a new function accept_conn()
6409 - MINOR: sock: implement sock_accept_conn() to accept a connection
6410 - MINOR: sockpair: implement sockpair_accept_conn() to accept a connection
6411 - MEDIUM: listener: use protocol->accept_conn() to accept a connection
6412 - MEDIUM: listener: remove the second pass of fd manipulation at the end
6413 - MINOR: protocol: add a default I/O callback and put it into the receiver
6414 - MINOR: log: set the UDP receiver's I/O handler in the receiver
6415 - MINOR: protocol: register the receiver's I/O handler and not the protocol's
6416 - CLEANUP: protocol: remove the now unused <handler> field of proto_fam->bind()
6417 - DOC: improve the documentation for "option nolinger"
6418 - BUG/MEDIUM: proxy: properly stop backends
6419 - BUG/MEDIUM: task: bound the number of tasks picked from the wait queue at once
6420 - MINOR: threads: augment rwlock debugging stats to report seek lock stats
6421 - MINOR: threads: add the transitions to/from the seek state
6422 - MEDIUM: task: use an upgradable seek lock when scanning the wait queue
6423 - BUILD: listener: avoir a build warning when threads are disabled
6424 - BUG/MINOR: peers: Possible unexpected peer seesion reset after collisions.
6425 - MINOR: ssl: add volatile flags to ssl samples
6426 - MEDIUM: backend: reuse connection if using a static sni
6427 - BUG/MEDIUM: spoe: Unset variable instead of set it if no data provided
6428 - BUG/MEDIUM: mux-h1: Get the session from the H1S when capturing bad messages
6429 - BUG/MEDIUM: lb: Always lock the server when calling server_{take,drop}_conn
6430 - DOC: fix typo in MAX_SESS_STKCTR
6431
6432 2020/10/10 : 2.3-dev6
6433 - REGTESTS: use "command" instead of "which" for better POSIX compatibility
6434 - BUILD: makefile: Update feature flags for OpenBSD
6435 - DOC: agent-check: fix typo in "fail" word expected reply
6436 - DOC: crt: advise to move away from cert bundle
6437 - BUG/MINOR: ssl/crt-list: exit on warning out of crtlist_parse_line()
6438 - REGTEST: fix host part in balance-uri-path-only.vtc
6439 - REGTEST: make ssl_client_samples and ssl_server_samples requiret to 2.3
6440 - REGTEST: the iif converter test requires 2.3
6441 - REGTEST: make agent-check.vtc require 1.8
6442 - REGTEST: make abns_socket.vtc require 1.8
6443 - REGTEST: make map_regm_with_backref require 1.7
6444 - BUILD: makefile: Update feature flags for FreeBSD
6445 - OPTIM: backend/random: never queue on the server, always on the backend
6446 - OPTIM: backend: skip LB when we know the backend is full
6447 - BUILD: makefile: Fix building with closefrom() support enabled
6448 - BUILD: makefile: add an EXTRAVERSION variable to ease local naming
6449 - MINOR: tools: support for word expansion of environment in parse_line
6450 - BUILD: tools: fix minor build issue on isspace()
6451 - BUILD: makefile: Enable closefrom() support on Solaris
6452 - CLEANUP: ssl: Use structured format for error line report during crt-list parsing
6453 - MINOR: ssl: Add error if a crt-list might be truncated
6454 - MINOR: ssl: remove uneeded check in crtlist_parse_file
6455 - BUG/MINOR: Fix several leaks of 'log_tag' in init().
6456 - DOC: tcp-rules: Refresh details about L7 matching for tcp-request content rules
6457 - MEDIUM: tcp-rules: Warn if a track-sc* content rule doesn't depend on content
6458 - BUG/MINOR: tcpcheck: Set socks4 and send-proxy flags before the connect call
6459 - DOC: ssl: new "cert bundle" behavior
6460 - BUG/MEDIUM: queue: make pendconn_cond_unlink() really thread-safe
6461 - CLEANUP: ssl: "bundle" is not an OpenSSL wording
6462 - MINOR: counters: fix a typo in comment
6463 - BUG/MINOR: stats: fix validity of the json schema
6464 - REORG: stats: export some functions
6465 - MINOR: stats: add stats size as a parameter for csv/json dump
6466 - MINOR: stats: hide px/sv/li fields in applet struct
6467 - REORG: stats: extract proxy json dump
6468 - REORG: stats: extract proxies dump loop in a function
6469 - MINOR: hlua: Display debug messages on stderr only in debug mode
6470 - MINOR: stats: define the concept of domain for statistics
6471 - MINOR: stats: define additional flag px cap on domain
6472 - MEDIUM: stats: add delimiter for static proxy stats on csv
6473 - MEDIUM: stats: define an API to register stat modules
6474 - MEDIUM: stats: add abstract type to store counters
6475 - MEDIUM: stats: integrate static proxies stats in new stats
6476 - MINOR: stats: support clear counters for dynamic stats
6477 - MINOR: stats: display extra proxy stats on the html page
6478 - MINOR: stats: add config "stats show modules"
6479 - MINOR: dns/stats: integrate dns counters in stats
6480 - MINOR: stats: remove for loop declaration
6481 - DOC: ssl: fix typo about ocsp files
6482 - BUG/MINOR: peers: Inconsistency when dumping peer status codes.
6483 - DOC: update INSTALL with supported OpenBSD / FreeBSD versions
6484 - BUG/MINOR: proto_tcp: Report warning messages when listeners are bound
6485 - CLEANUP: cache: Fix leak of cconf->c.name during config check
6486 - CLEANUP: ssl: Release cached SSL sessions on deinit
6487 - BUG/MINOR: mux-h1: Be sure to only set CO_RFL_READ_ONCE for the first read
6488 - BUG/MINOR: mux-h1: Always set the session on frontend h1 stream
6489 - MINOR: mux-h1: Don't wakeup the H1C when output buffer become available
6490 - CLEANUP: sock-unix: Remove an unreachable goto clause
6491 - BUG/MINOR: proxy: inc req counter on new syslog messages.
6492 - BUG/MEDIUM: log: old processes with log foward section don't die on soft stop.
6493 - MINOR: stats: inc req counter on listeners.
6494 - MINOR: channel: new getword and getchar functions on channel.
6495 - MEDIUM: log: syslog TCP support on log forward section.
6496 - BUG/MINOR: proxy/log: frontend/backend and log forward names must differ
6497 - DOC: re-work log forward bind statement documentation.
6498 - DOC: fix a confusing typo on a regsub example
6499 - BUILD: Add a DragonFlyBSD target
6500 - BUG/MINOR: makefile: fix a tiny typo in the target list
6501 - BUILD: makefile: Update feature flags for NetBSD
6502 - CI: travis-ci: help Coverity to detect BUG_ON() as a real stop
6503 - DOC: Add missing stats fields in the management doc
6504 - BUG/MEDIUM: mux-fcgi: Don't handle pending read0 too early on streams
6505 - BUG/MEDIUM: mux-h2: Don't handle pending read0 too early on streams
6506 - DOC: Fix typos in configuration.txt
6507 - BUG/MINOR: http: Fix content-length of the default 500 error
6508 - BUG/MINOR: http-htx: Expect no body for 204/304 internal HTTP responses
6509 - REGTESTS: mark abns_socket as broken
6510 - MEDIUM: fd: always wake up one thread when enabling a foreing FD
6511 - MEDIUM: listeners: don't bounce listeners management between queues
6512 - MEDIUM: init: stop disabled proxies after initializing fdtab
6513 - MEDIUM: listeners: make unbind_listener() converge if needed
6514 - MEDIUM: deinit: close all receivers/listeners before scanning proxies
6515 - MEDIUM: listeners: remove the now unused ZOMBIE state
6516 - MINOR: listeners: do not uselessly try to close zombie listeners in soft_stop()
6517 - CLEANUP: proxy: remove the first_to_listen hack in zombify_proxy()
6518 - MINOR: listeners: introduce listener_set_state()
6519 - MINOR: proxy: maintain per-state counters of listeners
6520 - MEDIUM: proxy: remove the unused PR_STFULL state
6521 - MEDIUM: proxy: remove the PR_STERROR state
6522 - MEDIUM: proxy: remove state PR_STPAUSED
6523 - MINOR: startup: don't rely on PR_STNEW to check for listeners
6524 - CLEANUP: peers: don't use the PR_ST* states to mark enabled/disabled
6525 - MEDIUM: proxy: replace proxy->state with proxy->disabled
6526 - MEDIUM: proxy: remove start_proxies()
6527 - MEDIUM: proxy: merge zombify_proxy() with stop_proxy()
6528 - MINOR: listeners: check the current listener state in pause_listener()
6529 - MINOR: listeners: check the current listener earlier state in resume_listener()
6530 - MEDIUM: listener/proxy: make the listeners notify about proxy pause/resume
6531 - MINOR: protocol: introduce protocol_{pause,resume}_all()
6532 - MAJOR: signals: use protocol_pause_all() and protocol_resume_all()
6533 - CLEANUP: proxy: remove the now unused pause_proxies() and resume_proxies()
6534 - MEDIUM: proto_tcp: make the pause() more robust in multi-process
6535 - BUG/MEDIUM: listeners: correctly report pause() errors
6536 - MINOR: listeners: move fd_stop_recv() to the receiver's socket code
6537 - CLEANUP: protocol: remove the ->disable_all method
6538 - CLEANUP: listeners: remove unused disable_listener and disable_all_listeners
6539 - MINOR: listeners: export enable_listener()
6540 - MINOR: protocol: directly call enable_listener() from protocol_enable_all()
6541 - CLEANUP: protocol: remove the ->enable_all method
6542 - CLEANUP: listeners: remove the now unused enable_all_listeners()
6543 - MINOR: protocol: rename the ->listeners field to ->receivers
6544 - MINOR: protocol: replace ->pause(listener) with ->rx_suspend(receiver)
6545 - MINOR: protocol: implement an ->rx_resume() method
6546 - MINOR: listener: use the protocol's ->rx_resume() method when available
6547 - MINOR: sock: provide a set of generic enable/disable functions
6548 - MINOR: protocol: add a new pair of rx_enable/rx_disable methods
6549 - MINOR: protocol: add a new pair of enable/disable methods for listeners
6550 - MEDIUM: listeners: now use the listener's ->enable/disable
6551 - MINOR: listeners: split delete_listener() in two versions
6552 - MINOR: listeners: count unstoppable jobs on creation, not deletion
6553 - MINOR: listeners: add a new stop_listener() function
6554 - MEDIUM: proxy: make stop_proxy() now use stop_listener()
6555 - MEDIUM: proxy: add mode PR_MODE_PEERS to flag peers frontends
6556 - MEDIUM: proxy: centralize proxy status update and reporting
6557 - MINOR: protocol: add protocol_stop_now() to instant-stop listeners
6558 - MEDIUM: proxy: make soft_stop() stop most listeners using protocol_stop_now()
6559 - MEDIUM: udp: implement udp_suspend() and udp_resume()
6560 - MINOR: listener: add a few BUG_ON() statements to detect inconsistencies
6561 - MEDIUM: listeners: always close master vs worker listeners
6562 - BROKEN/MEDIUM: listeners: rework the unbind logic to make it idempotent
6563 - MEDIUM: listener: let do_unbind_listener() decide whether to close or not
6564 - CLEANUP: listeners: remove the do_close argument to unbind_listener()
6565 - MINOR: listeners: move the LI_O_MWORKER flag to the receiver
6566 - MEDIUM: receivers: add an rx_unbind() method in the protocols
6567 - MINOR: listeners: split do_unbind_listener() in two
6568 - MEDIUM: listeners: implement protocol level ->suspend/resume() calls
6569 - MEDIUM: config: mark "grace" as deprecated
6570 - MEDIUM: config: remove the deprecated and dangerous global "debug" directive
6571 - BUG/MINOR: proxy: respect the proper format string in sig_pause/sig_listen
6572 - MINOR: peers: heartbeat, collisions and handshake information for "show peers" command.
6573 - BUILD: makefile: Enable getaddrinfo() on OS/X
6574
6575 2020/09/25 : 2.3-dev5
6576 - DOC: Fix typo in iif() example
6577 - CLEANUP: Update .gitignore
6578 - BUILD: introduce possibility to define ABORT_NOW() conditionally
6579 - CI: travis-ci: help Coverity to recognize abort()
6580 - BUG/MINOR: Fix type passed of sizeof() for calloc()
6581 - CLEANUP: Do not use a fixed type for 'sizeof' in 'calloc'
6582 - CLEANUP: tree-wide: use VAR_ARRAY instead of [0] in various definitions
6583 - BUILD: connection: fix build on clang after the VAR_ARRAY cleanup
6584 - BUG/MINOR: ssl: verifyhost is case sensitive
6585 - BUILD: makefile: change default value of CC from gcc to cc
6586 - CI: travis-ci: split asan step out of running tests
6587 - BUG/MINOR: server: report correct error message for invalid port on "socks4"
6588 - BUG/MEDIUM: ssl: Don't call ssl_sock_io_cb() directly.
6589 - BUG/MINOR: ssl/crt-list: crt-list could end without a \n
6590 - BUG/MINOR: log-forward: fail on unknown keywords
6591 - MEDIUM: log-forward: use "dgram-bind" instead of "bind" for the listener
6592 - BUG/MEDIUM: log-forward: always quit on parsing errors
6593 - MEDIUM: ssl: remove bundle support in crt-list and directories
6594 - MEDIUM: ssl/cli: remove support for multi certificates bundle
6595 - MINOR: ssl: crtlist_dup_ssl_conf() duplicates a ssl_bind_conf
6596 - MINOR: ssl: crtlist_entry_dup() duplicates a crtlist_entry
6597 - MEDIUM: ssl: emulates the multi-cert bundles in the crtlist
6598 - MEDIUM: ssl: emulate multi-cert bundles loading in standard loading
6599 - CLEANUP: ssl: remove test on "multi" variable in ckch functions
6600 - CLEANUP: ssl/cli: remove test on 'multi' variable in CLI functions
6601 - CLEANUP: ssl: remove utility functions for bundle
6602 - DOC: explain bundle emulation in configuration.txt
6603 - BUILD: fix build with openssl < 1.0.2 since bundle removal
6604 - BUG/MINOR: log: gracefully handle the "udp@" address format for log servers
6605 - BUG/MINOR: dns: gracefully handle the "udp@" address format for nameservers
6606 - MINOR: listener: create a new struct "settings" in bind_conf
6607 - MINOR: listener: move bind_proc and bind_thread to struct settings
6608 - MINOR: listener: move the interface to the struct settings
6609 - MINOR: listener: move the network namespace to the struct settings
6610 - REORG: listener: create a new struct receiver
6611 - REORG: listener: move the listening address to a struct receiver
6612 - REORG: listener: move the receiving FD to struct receiver
6613 - REORG: listener: move the listener's proto to the receiver
6614 - MINOR: listener: make sock_find_compatible_fd() check the socket type
6615 - REORG: listener: move the receiver part to a new file
6616 - MINOR: receiver: link the receiver to its settings
6617 - MINOR: receiver: link the receiver to its owner
6618 - MINOR: listener: prefer to retrieve the socket's settings via the receiver
6619 - MINOR: receiver: add a receiver-specific flag to indicate the socket is bound
6620 - MINOR: listener: move the INHERITED flag down to the receiver
6621 - MINOR: receiver: move the FOREIGN and V6ONLY options from listener to settings
6622 - MINOR: sock: make sock_find_compatible_fd() only take a receiver
6623 - MINOR: protocol: rename the ->bind field to ->listen
6624 - MINOR: protocol: add a new ->bind() entry to bind the receiver
6625 - MEDIUM: sock_inet: implement sock_inet_bind_receiver()
6626 - MEDIUM: tcp: make use of sock_inet_bind_receiver()
6627 - MEDIUM: udp: make use of sock_inet_bind_receiver()
6628 - MEDIUM: sock_unix: implement sock_unix_bind_receiver()
6629 - MEDIUM: uxst: make use of sock_unix_bind_receiver()
6630 - MEDIUM: sockpair: implement sockpair_bind_receiver()
6631 - MEDIUM: proto_sockpair: make use of sockpair_bind_receiver()
6632 - MEDIUM: protocol: explicitly start the receiver before the listener
6633 - MEDIUM: protocol: do not call proto->bind() anymore from bind_listener()
6634 - MINOR: protocol: add a new proto_fam structure for protocol families
6635 - MINOR: protocol: retrieve the family-specific fields from the family
6636 - CLEANUP: protocol: remove family-specific fields from struct protocol
6637 - MINOR: protocol: add a real family for existing FDs
6638 - CLEANUP: tools: make str2sa_range() less awful for fd@ and sockpair@
6639 - MINOR: tools: make str2sa_range() take more options than just resolve
6640 - MINOR: tools: add several PA_O_PORT_* flags in str2sa_range() callers
6641 - MEDIUM: tools: make str2sa_range() validate callers' port specifications
6642 - MEDIUM: config: remove all checks for missing/invalid ports/ranges
6643 - MINOR: tools: add several PA_O_* flags in str2sa_range() callers
6644 - MINOR: listener: remove the inherited arg to create_listener()
6645 - MINOR: tools: make str2sa_range() optionally return the fd
6646 - MINOR: log: detect LOG_TARGET_FD from the fd and not from the syntax
6647 - MEDIUM: tools: make str2sa_range() resolve pre-bound listeners
6648 - MINOR: config: do not test an inherited socket again
6649 - MEDIUM: tools: make str2sa_range() check for the sockpair's FD usability
6650 - MINOR: tools: start to distinguish stream and dgram in str2sa_range()
6651 - MEDIUM: tools: make str2sa_range() only report AF_CUST_UDP on listeners
6652 - MINOR: tools: remove the central test for "udp" in str2sa_range()
6653 - MINOR: cfgparse: add str2receiver() to parse dgram receivers
6654 - MINOR: log-forward: use str2receiver() to parse the dgram-bind address
6655 - MEDIUM: config: make str2listener() not accept datagram sockets anymore
6656 - MINOR: listener: pass the chosen protocol to create_listeners()
6657 - MINOR: tools: make str2sa_range() directly return the protocol
6658 - MEDIUM: tools: make str2sa_range() check that the protocol has ->connect()
6659 - MINOR: protocol: add the control layer type in the protocol struct
6660 - MEDIUM: protocol: store the socket and control type in the protocol array
6661 - MEDIUM: tools: make str2sa_range() use protocol_lookup()
6662 - MEDIUM: proto_udp: replace last AF_CUST_UDP* with AF_INET*
6663 - MINOR: tools: drop listener detection hack from str2sa_range()
6664 - BUILD: sock_unix: add missing errno.h
6665 - MINOR: sock_inet: report the errno string in binding errors
6666 - MINOR: sock_unix: report the errno string in binding errors
6667 - BUILD: sock_inet: include errno.h
6668 - MINOR: h2/trace: also display the remaining frame length in traces
6669 - BUG/MINOR: h2/trace: do not display "stream error" after a frame ACK
6670 - BUG/MEDIUM: h2: report frame bits only for handled types
6671 - BUG/MINOR: http-fetch: Don't set the sample type during the htx prefetch
6672 - BUG/MINOR: Fix memory leaks cfg_parse_peers
6673 - BUG/MINOR: config: Fix memory leak on config parse listen
6674 - MINOR: backend: make the "whole" option of balance uri take only one bit
6675 - MINOR: backend: add a new "path-only" option to "balance uri"
6676 - REGTESTS: add a few load balancing tests
6677 - BUG/MEDIUM: listeners: do not pause foreign listeners
6678 - BUG/MINOR: listeners: properly close listener FDs
6679 - BUILD: trace: include tools.h
6680
6681 2020/09/11 : 2.3-dev4
6682 - MINOR: hlua: Add error message relative to the Channel manipulation and HTTP mode
6683 - BUG/MEDIUM: ssl: crt-list negative filters don't work
6684 - DOC: overhauling github issue templates
6685 - MEDIUM: cfgparse: Emit hard error on truncated lines
6686 - DOC: cache: Use '<name>' instead of '<id>' in error message
6687 - MINOR: cache: Reject duplicate cache names
6688 - REGTEST: remove stray leading spaces in converteers_ref_cnt_never_dec.vtc
6689 - MINOR: stats: prevent favicon.ico requests for stats page
6690 - BUILD: tools: include auxv a bit later
6691 - BUILD: task: work around a bogus warning in gcc 4.7/4.8 at -O1
6692 - MEDIUM: ssl: Support certificate chaining for certificate generation
6693 - MINOR: ssl: Support SAN extension for certificate generation
6694 - MINOR: tcp: don't try to set/clear v6only on inherited sockets
6695 - BUG/MINOR: reload: detect the OS's v6only status before choosing an old socket
6696 - MINOR: reload: determine the foreing binding status from the socket
6697 - MEDIUM: reload: stop passing listener options along with FDs
6698 - BUG/MEDIUM: ssl: fix ssl_bind_conf double free w/ wildcards
6699 - MEDIUM: fd: replace usages of fd_remove() with fd_stop_both()
6700 - CLEANUP: fd: remove fd_remove() and rename fd_dodelete() to fd_delete()
6701 - MINOR: fd: add a new "exported" flag and use it for all regular listeners
6702 - MEDIUM: reload: pass all exportable FDs, not just listeners
6703 - DOC: add description of pidfile in master-worker mode
6704 - BUG/MINOR: reload: do not fail when no socket is sent
6705 - REORG: tcp: move TCP actions from proto_tcp.c to tcp_act.c
6706 - CLEANUP: tcp: stop exporting smp_fetch_src()
6707 - REORG: tcp: move TCP sample fetches from proto_tcp.c to tcp_sample.c
6708 - REORG: tcp: move TCP bind/server keywords from proto_tcp.c to cfgparse-tcp.c
6709 - REORG: unix: move UNIX bind/server keywords from proto_uxst.c to cfgparse-unix.c
6710 - REORG: sock: start to move some generic socket code to sock.c
6711 - MINOR: sock: introduce sock_inet and sock_unix
6712 - MINOR: tcp/udp/unix: make use of proto->addrcmp() to compare addresses
6713 - MINOR: sock_inet: implement sock_inet_get_dst()
6714 - REORG: inet: replace tcp_is_foreign() with sock_inet_is_foreign()
6715 - REORG: sock_inet: move v6only_default from proto_tcp.c to sock_inet.c
6716 - REORG: sock_inet: move default_tcp_maxseg from proto_tcp.c
6717 - REORG: listener: move xfer_sock_list to sock.{c,h}.
6718 - MINOR: sock: add interface and namespace length to xfer_sock_list
6719 - MINOR: sock: implement sock_find_compatible_fd()
6720 - MINOR: sock_inet: move the IPv4/v6 transparent mode code to sock_inet
6721 - REORG: sock: move get_old_sockets() from haproxy.c
6722 - MINOR: sock: do not use LI_O_* in xfer_sock_list anymore
6723 - MINOR: sock: distinguish dgram from stream types when retrieving old sockets
6724 - BUILD: sock_unix: fix build issue with isdigit()
6725 - BUG/MEDIUM: http-ana: Don't wait to send 1xx responses received from servers
6726 - MINOR: http-htx: Add an option to eval query-string when the path is replaced
6727 - BUG/MINOR: http-rules: Replace path and query-string in "replace-path" action
6728 - MINOR: http-htx: Handle an optional reason when replacing the response status
6729 - MINOR: contrib/spoa-server: allow MAX_FRAME_SIZE override
6730 - BUG/MAJOR: contrib/spoa-server: Fix unhandled python call leading to memory leak
6731 - BUG/MINOR: contrib/spoa-server: Ensure ip address references are freed
6732 - BUG/MINOR: contrib/spoa-server: Do not free reference to NULL
6733 - BUG/MINOR: contrib/spoa-server: Updating references to free in case of failure
6734 - BUG/MEDIUM: contrib/spoa-server: Fix ipv4_address used instead of ipv6_address
6735 - CLEANUP: http: silence a cppcheck warning in get_http_auth()
6736 - REGTEST: increase some short timeouts to make tests more reliable
6737 - BUG/MINOR: threads: work around a libgcc_s issue with chrooting
6738 - BUILD: thread: limit the libgcc_s workaround to glibc only
6739 - MINOR: protocol: do not call proto->bind_all() anymore
6740 - MINOR: protocol: do not call proto->unbind_all() anymore
6741 - CLEANUP: protocol: remove all ->bind_all() and ->unbind_all() functions
6742 - MAJOR: init: start all listeners via protocols and not via proxies anymore
6743 - BUG/MINOR: startup: haproxy -s cause 100% cpu
6744 - Revert "BUG/MINOR: http-rules: Replace path and query-string in "replace-path" action"
6745 - BUG/MEDIUM: doc: Fix replace-path action description
6746 - MINOR: http-rules: Add set-pathq and replace-pathq actions
6747 - MINOR: http-fetch: Add pathq sample fetch
6748 - REGTEST: Add a test for request path manipulations, with and without the QS
6749 - MINOR: Commit .gitattributes
6750 - CLEANUP: Update .gitignore
6751 - BUG/MEDIUM: dns: Don't store additional records in a linked-list
6752 - BUG/MEDIUM: dns: Be sure to renew IP address for already known servers
6753 - MINOR: server: Improve log message sent when server address is updated
6754 - DOC: ssl-load-extra-files only applies to certificates on bind lines
6755 - BUG/MINOR: auth: report valid crypto(3) support depending on build options
6756 - BUG/MEDIUM: mux-h1: always apply the timeout on half-closed connections
6757 - BUILD: threads: better workaround for late loading of libgcc_s
6758 - BUILD: compiler: reserve the gcc version checks to the gcc compiler
6759 - BUILD: compiler: workaround a glibc madness around __attribute__()
6760 - BUILD: intops: on x86_64, the bswap instruction is called bswapq
6761 - BUILD: trace: always have an argument before variadic args in macros
6762 - BUILD: traces: don't pass an empty argument for missing ones
6763 - BUG/MINOR: haproxy: Free uri_auth->scope during deinit
6764 - CLEANUP: Free old_argv on deinit
6765 - CLEANUP: haproxy: Free post_proxy_check_list in deinit()
6766 - CLEANUP: haproxy: Free per_thread_*_list in deinit()
6767 - CLEANUP: haproxy: Free post_check_list in deinit()
6768 - BUG/MEDIUM: pattern: Renew the pattern expression revision when it is pruned
6769 - REORG: tools: move PARSE_OPT_* from tools.h to tools-t.h
6770 - MINOR: sample: Add iif(<true>,<false>) converter
6771
6772 2020/08/14 : 2.3-dev3
6773 - SCRIPTS: git-show-backports: make -m most only show the left branch
6774 - SCRIPTS: git-show-backports: emit the shell command to backport a commit
6775 - BUILD: Makefile: require SSL_LIB, SSL_INC to be explicitly set
6776 - CI: travis-ci: specify SLZ_LIB, SLZ_INC for travis builds
6777 - BUG/MEDIUM: mux-h1: Refresh H1 connection timeout after a synchronous send
6778 - CLEANUP: dns: typo in reported error message
6779 - BUG/MAJOR: dns: disabled servers through SRV records never recover
6780 - BUG/MINOR: spoa-server: fix size_t format printing
6781 - DOC: spoa-server: fix false friends `actually`
6782 - BUG/MINOR: ssl: fix memory leak at OCSP loading
6783 - BUG/MEDIUM: ssl: memory leak of ocsp data at SSL_CTX_free()
6784 - BUG/MEDIUM: map/lua: Return an error if a map is loaded during runtime
6785 - MINOR: arg: Add an argument type to keep a reference on opaque data
6786 - BUG/MINOR: converters: Store the sink in an arg pointer for debug() converter
6787 - BUG/MINOR: lua: Duplicate map name to load it when a new Map object is created
6788 - BUG/MINOR: arg: Fix leaks during arguments validation for fetches/converters
6789 - BUG/MINOR: lua: Check argument type to convert it to IPv4/IPv6 arg validation
6790 - BUG/MINOR: lua: Check argument type to convert it to IP mask in arg validation
6791 - MINOR: hlua: Don't needlessly copy lua strings in trash during args validation
6792 - BUG/MINOR: lua: Duplicate lua strings in sample fetches/converters arg array
6793 - MEDIUM: lua: Don't filter exported fetches and converters
6794 - MINOR: lua: Add support for userlist as fetches and converters arguments
6795 - MINOR: lua: Add support for regex as fetches and converters arguments
6796 - MINOR: arg: Use chunk_destroy() to release string arguments
6797 - BUG/MINOR: snapshots: leak of snapshots on deinit()
6798 - CLEANUP: ssl: ssl_sock_crt2der semicolon and spaces
6799 - MINOR: ssl: add ssl_{c,s}_chain_der fetch methods
6800 - CLEANUP: fix all duplicated semicolons
6801 - BUG/MEDIUM: ssl: fix the ssl-skip-self-issued-ca option
6802 - BUG/MINOR: ssl: ssl-skip-self-issued-ca requires >= 1.0.2
6803 - BUG/MINOR: stats: use strncmp() instead of memcmp() on health states
6804 - BUILD: makefile: don't disable -Wstringop-overflow anymore
6805 - BUG/MINOR: ssl: double free w/ smp_fetch_ssl_x_chain_der()
6806 - BUG/MEDIUM: htx: smp_prefetch_htx() must always validate the direction
6807 - BUG/MEDIUM: ssl: never generates the chain from the verify store
6808 - OPTIM: regex: PCRE2 use JIT match when JIT optimisation occured.
6809 - BUG/MEDIUM: ssl: does not look for all SNIs before chosing a certificate
6810 - CLEANUP: ssl: remove poorly readable nested ternary
6811
6812 2020/07/31 : 2.3-dev2
6813 - DOC: ssl: req_ssl_sni needs implicit TLS
6814 - BUG/MEDIUM: arg: empty args list must be dropped
6815 - BUG/MEDIUM: resolve: fix init resolving for ring and peers section.
6816 - BUG/MAJOR: tasks: don't requeue global tasks into the local queue
6817 - MINOR: tasks/debug: make the thread affinity BUG_ON check a bit stricter
6818 - MINOR: tasks/debug: add a few BUG_ON() to detect use of wrong timer queue
6819 - MINOR: tasks/debug: add a BUG_ON() check to detect requeued task on free
6820 - BUG/MAJOR: dns: Make the do-resolve action thread-safe
6821 - BUG/MEDIUM: dns: Release answer items when a DNS resolution is freed
6822 - MEDIUM: htx: Add a flag on a HTX message when no more data are expected
6823 - BUG/MEDIUM: stream-int: Don't set MSG_MORE flag if no more data are expected
6824 - BUG/MEDIUM: http-ana: Only set CF_EXPECT_MORE flag on data filtering
6825 - CLEANUP: dns: remove 45 "return" statements from dns_validate_dns_response()
6826 - BUG/MINOR: htx: add two missing HTX_FL_EOI and remove an unexpected one
6827 - BUG/MINOR: mux-fcgi: Don't url-decode the QUERY_STRING parameter anymore
6828 - BUILD: tools: fix build with static only toolchains
6829 - DOC: Use gender neutral language
6830 - BUG/MINOR: debug: Don't dump the lua stack if it is not initialized
6831 - BUG/MAJOR: dns: fix null pointer dereference in snr_update_srv_status
6832 - BUG/MAJOR: dns: don't treat Authority records as an error
6833 - CI : travis-ci : prepare for using stock OpenSSL
6834 - CI: travis-ci : switch to stock openssl when openssl-1.1.1 is used
6835 - MEDIUM: lua: Add support for the Lua 5.4
6836 - BUG/MEDIUM: dns: Don't yield in do-resolve action on a final evaluation
6837 - BUG/MINOR: lua: Abort execution of actions that yield on a final evaluation
6838 - MINOR: tcp-rules: Return an internal error if an action yields on a final eval
6839 - BUG/MINOR: tcp-rules: Preserve the right filter analyser on content eval abort
6840 - BUG/MINOR: tcp-rules: Set the inspect-delay when a tcp-response action yields
6841 - MEDIUM: tcp-rules: Use a dedicated expiration date for tcp ruleset
6842 - MEDIUM: lua: Set the analyse expiration date with smaller wake_time only
6843 - BUG/MEDIUM: connection: Be sure to always install a mux for sync connect
6844 - MINOR: connection: Preinstall the mux for non-ssl connect
6845 - MINOR: stream-int: Be sure to have a mux to do sends and receives
6846 - BUG/MINOR: lua: Fix a possible null pointer deref on lua ctx
6847 - SCRIPTS: announce-release: add the link to the wiki in the announce messages
6848 - CI: travis-ci: use better name for Coverity scan job
6849 - CI: travis-ci: use proper linking flags for SLZ build
6850 - BUG/MEDIUM: backend: always attach the transport before installing the mux
6851 - BUG/MEDIUM: tcp-checks: always attach the transport before installing the mux
6852 - MINOR: connection: avoid a useless recvfrom() on outgoing connections
6853 - MINOR: mux-h1: do not even try to receive if the connection is not fully set up
6854 - MINOR: mux-h1: do not try to receive on backend before sending a request
6855 - CLEANUP: assorted typo fixes in the code and comments
6856 - BUG/MEDIUM: ssl: check OCSP calloc in ssl_sock_load_ocsp()
6857
6858 2020/07/17 : 2.3-dev1
6859 - MINOR: config: make strict limits enabled by default
6860 - BUG/MINOR: acl: Fix freeing of expr->smp in prune_acl_expr
6861 - BUG/MINOR: sample: Fix freeing of conv_exprs in release_sample_expr
6862 - BUG/MINOR: haproxy: Free proxy->format_unique_id during deinit
6863 - BUG/MINOR: haproxy: Add missing free of server->(hostname|resolvers_id)
6864 - BUG/MINOR: haproxy: Free proxy->unique_id_header during deinit
6865 - BUG/MINOR: haproxy: Free srule->file during deinit
6866 - BUG/MINOR: haproxy: Free srule->expr during deinit
6867 - BUG/MINOR: sample: Free str.area in smp_check_const_bool
6868 - BUG/MINOR: sample: Free str.area in smp_check_const_meth
6869 - CLEANUP: haproxy: Free proxy_deinit_list in deinit()
6870 - CLEANUP: haproxy: Free post_deinit_list in deinit()
6871 - CLEANUP: haproxy: Free server_deinit_list in deinit()
6872 - CLEANUP: haproxy: Free post_server_check_list in deinit()
6873 - CLEANUP: Add static void vars_deinit()
6874 - CLEANUP: Add static void hlua_deinit()
6875 - CLEANUP: contrib/prometheus-exporter: typo fixes for ssl reuse metric
6876 - BUG/MEDIUM: lists: add missing store barrier on MT_LIST_BEHEAD()
6877 - BUG/MEDIUM: lists: add missing store barrier in MT_LIST_ADD/MT_LIST_ADDQ
6878 - MINOR: tcp: Support TCP keepalive parameters customization
6879 - BUILD: tcp: condition TCP keepalive settings to platforms providing them
6880 - MINOR: lists: rename some MT_LIST operations to clarify them
6881 - MINOR: buffer: use MT_LIST_ADDQ() for buffer_wait lists additions
6882 - MINOR: connection: use MT_LIST_ADDQ() to add connections to idle lists
6883 - MINOR: tasks: use MT_LIST_ADDQ() when killing tasks.
6884 - CONTRIB: da: fix memory leak in dummy function da_atlas_open()
6885 - CI: travis-ci: speed up osx build by running brew scripted, switch to latest osx image
6886 - BUG/MEDIUM: mux-h2: Don't add private connections in available connection list
6887 - BUG/MEDIUM: mux-fcgi: Don't add private connections in available connection list
6888 - MINOR: connection: Set the SNI on server connections before installing the mux
6889 - MINOR: connection: Set new connection as private on reuse never
6890 - MINOR: connection: Add a wrapper to mark a connection as private
6891 - MEDIUM: connection: Add private connections synchronously in session server list
6892 - MINOR: connection: Use a dedicated function to look for a session's connection
6893 - MINOR: connection: Set the conncetion target during its initialisation
6894 - MINOR: session: Take care to decrement idle_conns counter in session_unown_conn
6895 - MINOR: server: Factorize code to deal with reuse of server idle connections
6896 - MINOR: server: Factorize code to deal with connections removed from an idle list
6897 - CLEANUP: connection: remove unused field idle_time from the connection struct
6898 - BUG/MEDIUM: mux-h1: Continue to process request when switching in tunnel mode
6899 - MINOR: raw_sock: Report the number of bytes emitted using the splicing
6900 - MINOR: contrib/prometheus-exporter: Add missing global and per-server metrics
6901 - MINOR: backend: Add sample fetches to get the server's weight
6902 - BUG/MINOR: mux-fcgi: Handle empty STDERR record
6903 - BUG/MINOR: mux-fcgi: Set conn state to RECORD_P when skipping the record padding
6904 - BUG/MINOR: mux-fcgi: Set flags on the right stream field for empty FCGI_STDOUT
6905 - BUG/MINOR: backend: fix potential null deref on srv_conn
6906 - BUG/MEDIUM: log: issue mixing sampled to not sampled log servers.
6907 - MEDIUM: udp: adds minimal proto udp support for message listeners.
6908 - MEDIUM: log/sink: re-work and merge of build message API.
6909 - MINOR: log: adds syslog udp message handler and parsing.
6910 - MEDIUM: log: adds log forwarding section.
6911 - MINOR: log: adds counters on received syslog messages.
6912 - BUG/MEDIUM: fcgi-app: fix memory leak in fcgi_flt_http_headers
6913 - BUG/MEDIUM: server: resolve state file handle leak on reload
6914 - BUG/MEDIUM: server: fix possibly uninitialized state file on close
6915 - BUG/MEDIUM: channel: Be aware of SHUTW_NOW flag when output data are peeked
6916 - BUILD: config: address build warning on raspbian+rpi4
6917 - BUG/MAJOR: tasks: make sure to always lock the shared wait queue if needed
6918 - BUILD: config: fix again bugs gcc warnings on calloc
6919
6920 2020/07/07 : 2.3-dev0
6921 - [RELEASE] Released version 2.3-dev0
6922 - MINOR: version: back to development, update status message
6923
6924 2020/07/07 : 2.3-dev0
6925 - exact copy of 2.2.0
6926
6927 2020/07/07 : 2.2.0
6928 - BUILD: mux-h2: fix typo breaking build when using DEBUG_LOCK
6929 - CLEANUP: makefile: update the outdated list of DEBUG_xxx options
6930 - BUILD: tools: make resolve_sym_name() return a const
6931 - CLEANUP: auth: fix useless self-include of auth-t.h
6932 - BUILD: tree-wide: cast arguments to tolower/toupper to unsigned char
6933 - CLEANUP: assorted typo fixes in the code and comments
6934 - WIP/MINOR: ssl: add sample fetches for keylog in frontend
6935 - DOC: fix tune.ssl.keylog sample fetches array
6936 - BUG/MINOR: ssl: check conn in keylog sample fetch
6937 - DOC: configuration: various typo fixes
6938 - MINOR: log: Remove unused case statement during the log-format string parsing
6939 - BUG/MINOR: mux-h1: Fix the splicing in TUNNEL mode
6940 - BUG/MINOR: mux-h1: Don't read data from a pipe if the mux is unable to receive
6941 - BUG/MINOR: mux-h1: Disable splicing only if input data was processed
6942 - BUG/MEDIUM: mux-h1: Disable splicing for the conn-stream if read0 is received
6943 - MINOR: mux-h1: Improve traces about the splicing
6944 - BUG/MINOR: backend: Remove CO_FL_SESS_IDLE if a client remains on the last server
6945 - BUG/MEDIUM: connection: Don't consider new private connections as available
6946 - BUG/MINOR: connection: See new connection as available only on reuse always
6947 - DOC: configuration: remove obsolete mentions of H2 being converted to HTTP/1.x
6948 - CLEANUP: ssl: remove unrelevant comment in smp_fetch_ssl_x_keylog()
6949 - DOC: update INSTALL with new compiler versions
6950 - DOC: minor update to coding style file
6951 - MINOR: version: mention that it's an LTS release now
6952
6953 2020/07/04 : 2.2-dev12
6954 - BUG/MINOR: mux_h2: don't lose the leaving trace in h2_io_cb()
6955 - MINOR: cli: make "show sess" stop at the last known session
6956 - CLEANUP: buffers: remove unused buffer_wq_lock lock
6957 - BUG/MEDIUM: buffers: always allocate from the local cache first
6958 - MINOR: connection: align toremove_{lock,connections} and cleanup into idle_conns
6959 - CONTRIB: debug: add missing flags SI_FL_L7_RETRY & SI_FL_D_L7_RETRY
6960 - BUG/MEDIUM: connections: Don't increase curr_used_conns for shared connections.
6961 - BUG/MEDIUM: checks: Increment the server's curr_used_conns
6962 - REORG: buffer: rename buffer.c to dynbuf.c
6963 - REORG: includes: create tinfo.h for the thread_info struct
6964 - CLEANUP: pool: only include the type files from types
6965 - MINOR: pools: move the LRU cache heads to thread_info
6966 - BUG/MINOR: debug: fix "show fd" null-deref when built with DEBUG_FD
6967 - MINOR: stats: add 3 new output values for the per-server idle conn state
6968 - MINOR: activity: add per-thread statistics on FD takeover
6969 - BUG/MINOR: server: start cleaning idle connections from various points
6970 - MEDIUM: server: improve estimate of the need for idle connections
6971 - MINOR: stats: add the estimated need of concurrent connections per server
6972 - BUG/MINOR: threads: Don't forget to init each thread toremove_lock.
6973 - BUG/MEDIUM: lists: Lock the element while we check if it is in a list.
6974 - Revert "BUG/MEDIUM: lists: Lock the element while we check if it is in a list."
6975 - BUG/MINOR: haproxy: don't wake already stopping threads on exit
6976 - BUG/MINOR: server: always count one idle slot for current thread
6977 - MEDIUM: server: use the two thresholds for the connection release algorithm
6978 - BUG/MINOR: http-rules: Fix ACLs parsing for http deny rules
6979 - BUG/MINOR: sched: properly cover for a rare MT_LIST_ADDQ() race
6980 - MINOR: mux-h1: avoid taking the toremove_lock in on dying tasks
6981 - MINOR: mux-h2: avoid taking the toremove_lock in on dying tasks
6982 - MINOR: mux-fcgi: avoid taking the toremove_lock in on dying tasks
6983 - MINOR: pools: increase MAX_BASE_POOLS to 64
6984 - DOC: ssl: add "allow-0rtt" and "ciphersuites" in crt-list
6985 - BUG/MEDIUM: pattern: Add a trailing \0 to match strings only if possible
6986 - BUG/MEDIUM: log-format: fix possible endless loop in parse_logformat_string()
6987 - BUG/MINOR: proxy: fix dump_server_state()'s misuse of the trash
6988 - BUG/MINOR: proxy: always initialize the trash in show servers state
6989 - MINOR: cli/proxy: add a new "show servers conn" command
6990 - MINOR: server: skip servers with no idle conns earlier
6991 - BUG/MINOR: server: fix the connection release logic regarding nearly full conditions
6992 - MEDIUM: server: add a new pool-low-conn server setting
6993 - BUG/MEDIUM: backend: always search in the safe list after failing on the idle one
6994 - MINOR: backend: don't always takeover from the same threads
6995 - MINOR: sched: make sched->task_list_size atomic
6996 - MEDIUM: sched: create a new TASK_KILLED task flag
6997 - MEDIUM: sched: implement task_kill() to kill a task
6998 - MEDIUM: mux-h1: use task_kill() during h1_takeover() instead of task_wakeup()
6999 - MEDIUM: mux-h2: use task_kill() during h2_takeover() instead of task_wakeup()
7000 - MEDIUM: mux-fcgi: use task_kill() during fcgi_takeover() instead of task_wakeup()
7001 - MINOR: list: Add MT_LIST_DEL_SAFE_NOINIT() and MT_LIST_ADDQ_NOCHECK()
7002 - CLEANUP: connections: rename the toremove_lock to takeover_lock
7003 - MEDIUM: connections: Don't use a lock when moving connections to remove.
7004 - DOC: configuration: add missing index entries for tune.pool-{low,high}-fd-ratio
7005 - DOC: configuration: fix alphabetical ordering for tune.pool-{high,low}-fd-ratio
7006 - MINOR: config: add a new tune.idle-pool.shared global setting.
7007 - MINOR: 51d: silence a warning about null pointer dereference
7008 - MINOR: debug: add a new "debug dev memstats" command
7009 - MINOR: log-format: allow to preserve spacing in log format strings
7010 - BUILD: debug: avoid build warnings with DEBUG_MEM_STATS
7011 - BUG/MAJOR: sched: make sure task_kill() always queues the task
7012 - BUG/MEDIUM: muxes: Make sure nobody stole the connection before using it.
7013 - BUG/MEDIUM: cli/proxy: don't try to dump idle connection state if there's none
7014 - BUILD: haproxy: fix build error when RLIMIT_AS is not set
7015 - BUG/MAJOR: sched: make it work also when not building with DEBUG_STRICT
7016 - MINOR: log: add time second fraction field to rfc5424 log timestamp.
7017 - BUG/MINOR: log: missing timezone on iso dates.
7018 - BUG/MEDIUM: server: don't kill all idle conns when there are not enough
7019 - MINOR: sched: split tasklet_wakeup() into tasklet_wakeup_on()
7020 - BUG/MEDIUM: connections: Set the tid for the old tasklet on takeover.
7021 - BUG/MEDIUM: connections: Let the xprt layer know a takeover happened.
7022 - BUG/MINOR: http_act: don't check capture id in backend (2)
7023 - BUILD: makefile: disable threads by default on OpenBSD
7024 - BUILD: peers: fix build warning with gcc 4.2.1
7025 - CI: cirrus-ci: exclude slow reg-tests
7026
7027 2020/06/26 : 2.2-dev11
7028 - REGTEST: Add a simple script to tests errorfile directives in proxy sections
7029 - BUG/MEDIUM: fcgi-app: Resolve the sink if a fcgi-app logs in a ring buffer
7030 - BUG/MINOR: spoe: correction of setting bits for analyzer
7031 - BUG/MINOR: cfgparse: Support configurations without newline at EOF
7032 - MINOR: cfgparse: Warn on truncated lines / files
7033 - BUG/MINOR: http_ana: clarify connection pointer check on L7 retry
7034 - MINOR: debug: add a new DEBUG_FD build option
7035 - BUG/MINOR: tasks: make sure never to exceed max_processed
7036 - MINOR: task: add a new pointer to current tasklet queue
7037 - BUG/MEDIUM: task: be careful not to run too many tasks at TL_URGENT
7038 - BUG/MINOR: cfgparse: Fix argument reference in PARSE_ERR_TOOMANY message
7039 - BUG/MINOR: cfgparse: Fix calculation of position for PARSE_ERR_TOOMANY message
7040 - BUG/MEDIUM: ssl: fix ssl_bind_conf double free
7041 - MINOR: ssl: free bind_conf_node in crtlist_free()
7042 - MINOR: ssl: free the crtlist and the ckch during the deinit()
7043 - BUG/MINOR: ssl: fix build with ckch_deinit() and crtlist_deinit()
7044 - BUG/MINOR: ssl/cli: certs added from the CLI can't be deleted
7045 - MINOR: ssl: move the ckch/crtlist deinit to ssl_sock.c
7046 - MEDIUM: tasks: apply a fair CPU distribution between tasklet classes
7047 - MINOR: tasks: make current_queue an index instead of a pointer
7048 - MINOR: tasks: add a mask of the queues with active tasklets
7049 - MINOR: tasks: pass the queue index to run_task_from_list()
7050 - MINOR: tasks: make run_tasks_from_lists() scan the queues itself
7051 - MEDIUM: tasks: add a tune.sched.low-latency option
7052 - BUG/MEDIUM: ssl/cli: 'commit ssl cert' crashes when no private key
7053 - BUG/MINOR: cfgparse: don't increment linenum on incomplete lines
7054 - MINOR: tools: make parse_line() always terminate the args list
7055 - BUG/MINOR: cfgparse: report extraneous args *after* the string is allocated
7056 - MINOR: cfgparse: sanitize the output a little bit
7057 - MINOR: cli/ssl: handle trailing slashes in crt-list commands
7058 - MINOR: ssl: add the ssl_s_* sample fetches for server side certificate
7059 - BUG/MEDIUM: http-ana: Don't loop trying to generate a malformed 500 response
7060 - BUG/MINOR: stream-int: Don't wait to send truncated HTTP messages
7061 - BUG/MINOR: http-ana: Set CF_EOI on response channel for generated responses
7062 - BUG/MINOR: http-ana: Don't wait to send 1xx responses generated by HAProxy
7063 - MINOR: spoe: Don't systematically create new applets if processing rate is low
7064 - DOC: fix some typos in the ssl_s_{s|i}_dn documentation
7065 - BUILD: fix ssl_sample.c when building against BoringSSL
7066 - CI: travis-ci: switch BoringSSL builds to ninja
7067 - CI: extend spellchecker whitelist
7068 - DOC: assorted typo fixes in the documentation
7069 - CLEANUP: assorted typo fixes in the code and comments
7070 - MINOR: http: Add support for http 413 status
7071 - REGTEST: ssl: tests the ssl_f_* sample fetches
7072 - REGTEST: ssl: add some ssl_c_* sample fetches test
7073 - DOC: ssl: update the documentation of "commit ssl cert"
7074 - BUG/MINOR: cfgparse: correctly deal with empty lines
7075 - BUG/MEDIUM: fetch: Fix hdr_ip misparsing IPv4 addresses due to missing NUL
7076
7077 2020/06/19 : 2.2-dev10
7078 - BUILD: include: add sys/types before netinet/tcp.h
7079 - BUG/MEDIUM: log: don't hold the log lock during writev() on a file descriptor
7080 - BUILD: Remove nowarn for warnings that do not trigger
7081 - BUG/MEDIUM: pattern: fix thread safety of pattern matching
7082 - BUILD: Re-enable -Wimplicit-fallthrough
7083 - BUG/MINOR: ssl: fix ssl-{min,max}-ver with openssl < 1.1.0
7084 - BUILD: thread: add parenthesis around values of locking macros
7085 - BUILD: proto_uxst: shut up yet another gcc's absurd warning
7086 - BUG/MEDIUM: checks: Fix off-by-one in allocation of SMTP greeting cmd
7087 - CI: travis-ci: use "-O1" for clang builds
7088 - MINOR: haproxy: Add void deinit_and_exit(int)
7089 - MINOR: haproxy: Make use of deinit_and_exit() for clean exits
7090 - BUG/MINOR: haproxy: Free rule->arg.vars.expr during deinit_act_rules
7091 - BUILD: compression: make gcc 10 happy with free_zlib()
7092 - BUILD: atomic: add string.h for memcpy() on ARM64
7093 - BUG/MINOR: http: make smp_fetch_body() report that the contents may change
7094 - BUG/MINOR: tcp-rules: tcp-response must check the buffer's fullness
7095 - BUILD: haproxy: mark deinit_and_exit() as noreturn
7096 - BUG/MAJOR: vars: Fix bogus free() during deinit() for http-request rules
7097 - BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks
7098 - MINOR: tools: add a new configurable line parse, parse_line()
7099 - BUG/MEDIUM: cfgparse: use parse_line() to expand/unquote/unescape config lines
7100 - BUG/MEDIUM: cfgparse: stop after a reasonable amount of fatal error
7101 - MINOR: http: do not close connections anymore after internal responses
7102 - BUG/MINOR: cfgparse: Add missing fatal++ in PARSE_ERR_HEX case
7103 - BUG/MINOR: spoe: add missing key length check before checking key names
7104 - MINOR: version: put the compiler version output into version.c not haproxy.c
7105 - MINOR: compiler: always define __has_feature()
7106 - MINOR: version: report the presence of the compiler's address sanitizer
7107 - BUILD: Fix build by including haproxy/global.h
7108 - BUG/MAJOR: connection: always disable ready events once reported
7109 - CLEANUP: activity: remove unused counter fd_lock
7110 - DOC: fd: make it clear that some fields ordering must absolutely be respected
7111 - MINOR: activity: report the number of times poll() reports I/O
7112 - MINOR: activity: rename confusing poll_* fields in the output
7113 - MINOR: fd: Fix a typo in a coment.
7114 - BUG/MEDIUM: fd: Don't fd_stop_recv() a fd we don't own.
7115 - BUG/MEDIUM: fd: Call fd_stop_recv() when we just got a fd.
7116 - MINOR: activity: group the per-loop counters at the top
7117 - MINOR: activity: rename the "stream" field to "stream_calls"
7118 - MEDIUM: fd: refine the fd_takeover() migration lock
7119 - MINOR: fd: slightly optimize the fd_takeover double-CAS loop
7120 - MINOR: fd: factorize the fd_takeover() exit path to make it safer
7121 - MINOR: peers: do not use localpeer as an array anymore
7122 - MEDIUM: peers: add the "localpeer" global option
7123 - MEDIUM: fd: add experimental support for edge-triggered polling
7124 - CONTRIB: debug: add the missing flags CO_FL_SAFE_LIST and CO_FL_IDLE_LIST
7125 - MINOR: haproxy: process signals before runnable tasks
7126 - MEDIUM: tasks: clean up the front side of the wait queue in wake_expired_tasks()
7127 - MEDIUM: tasks: also process late wakeups in process_runnable_tasks()
7128 - BUG/MINOR: cli: allow space escaping on the CLI
7129 - BUG/MINOR: mworker/cli: fix the escaping in the master CLI
7130 - BUG/MINOR: mworker/cli: fix semicolon escaping in master CLI
7131 - REGTEST: http-rules: test spaces in ACLs
7132 - REGTEST: http-rules: test spaces in ACLs with master CLI
7133 - BUG/MAJOR: init: properly compute the default global.maxpipes value
7134 - MEDIUM: map: make the "clear map" operation yield
7135 - BUG/MEDIUM: stream-int: fix loss of CO_SFL_MSG_MORE flag in forwarding
7136 - MINOR: mux_h1: Set H1_F_CO_MSG_MORE if we know we have more to send.
7137 - BUG/MINOR: systemd: Wait for network to be online
7138 - DOC: configuration: Unindent non-code sentences in the protobuf example
7139 - DOC: configuration: http-check send was missing from matrix
7140
7141 2020/06/11 : 2.2-dev9
7142 - BUG/MINOR: http-htx: Don't forget to release the http reply in release function
7143 - BUG/MINOR: http-htx: Fix a leak on error path during http reply parsing
7144 - MINOR: checks: Remove dead code from process_chk_conn()
7145 - REGTESTS: checks: Fix tls_health_checks when IPv6 addresses are used
7146 - REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for lua/txn_get_priv
7147 - MINOR: lua: Use vars_unset_by_name_ifexist()
7148 - CLEANUP: vars: Remove void vars_unset_by_name(const char*, size_t, struct sample*)
7149 - MINOR: vars: Make vars_(un|)set_by_name(_ifexist|) return a success value
7150 - MINOR: lua: Make `set_var()` and `unset_var()` return success
7151 - MEDIUM: lua: Add `ifexist` parameter to `set_var`
7152 - MEDIUM: ring: new section ring to declare custom ring buffers.
7153 - REGTESTS: Add missing OPENSSL to REQUIRE_OPTIONS for compression/lua_validation
7154 - REGTESTS: Require the version 2.2 to execute lua/set_var
7155 - BUG/MEDIUM: checks: Refresh the conn-stream and the connection after a connect
7156 - MINOR: checks: Remove useless tests on the connection and conn-stream
7157 - BUG/MEDIUM: contrib/spoa: do not register python3.8 if --embed fail
7158 - BUG/MEDIUM: connection: Ignore PP2 unique ID for stream-less connections
7159 - BUG/MINOR: connection: Always get the stream when available to send PP2 line
7160 - BUG/MEDIUM: backend: set the connection owner to the session when using alpn.
7161 - MINOR: pools: compute an estimate of each pool's average needed objects
7162 - MEDIUM: pools: directly free objects when pools are too much crowded
7163 - REGTEST: Add connection/proxy_protocol_send_unique_id_alpn
7164 - MINOR: http-ana: Make the function http_reply_to_htx() public
7165 - MINOR: http-ana: Use proxy's error replies to emit 401/407 responses
7166 - MINOR: http-rules: Use an action function to eval http-request auth rules
7167 - CLEANUP: http: Remove unused HTTP message templates
7168 - BUG/MEDIUM: checks: Don't blindly subscribe for receive if waiting for connect
7169 - MINOR: checks: I/O callback function only rely on the data layer wake callback
7170 - BUG/MINOR: lua: Add missing string length for lua sticktable lookup
7171 - BUG/MEDIUM: logs: fix trailing zeros on log message.
7172 - CI: cirrus-ci: skip reg-tests/connection/proxy_protocol_send_unique_id_alpn.vtc on CentOS 6
7173 - BUG/MINOR: nameservers: fix error handling in parsing of resolv.conf
7174 - BUG/MEDIUM: checks: Don't add a tcpcheck ruleset twice in the shared tree
7175 - MEDIUM: ssl: use TLSv1.2 as the minimum default on bind lines
7176 - CLEANUP: pools: use the regular lock for the flush operation on lockless pools
7177 - SCRIPTS: publish-release: pass -n to gzip to remove timestamp
7178 - MINOR: ring: re-work ring attach generic API.
7179 - BUG/MINOR: error on unknown statement in ring section.
7180 - MEDIUM: ring: add server statement to forward messages from a ring
7181 - MEDIUM: ring: add new srv statement to support octet counting forward
7182 - MINOR: ssl: set ssl-min-ver in ambiguous configurations
7183 - CLEANUP: ssl: remove comment from dump_crtlist_sslconf()
7184 - BUILD: sink: address build warning on 32-bit architectures
7185 - BUG/MINOR: peers: fix internal/network key type mapping.
7186 - CLEANUP: regex: remove outdated support for regex actions
7187 - Revert "MINOR: ssl: rework add cert chain to CTX to be libssl independent"
7188 - MINOR: mux-h1/proxy: Add a proxy option to disable clear h2 upgrade
7189 - BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action
7190 - DOC: add a line about comments in crt-list
7191 - BUG/MEDIUM: hlua: Lock pattern references to perform set/add/del operations
7192 - BUG/MINOR: checks: Fix test on http-check rulesets during config validity check
7193 - BUG/MEDIUM: contrib/prometheus-exporter: Properly set flags to dump metrics
7194 - BUG/MEDIUM: mworker: fix the copy of options in copy_argv()
7195 - BUG/MINOR: init: -x can have a parameter starting with a dash
7196 - BUG/MINOR: init: -S can have a parameter starting with a dash
7197 - BUG/MEDIUM: mworker: fix the reload with an -- option
7198 - BUG/MINOR: ssl: fix a trash buffer leak in some error cases
7199 - BUG/MINOR: mworker: fix a memleak when execvp() failed
7200 - MINOR: sample: Add secure_memcmp converter
7201 - REORG: ebtree: move the C files from ebtree/ to src/
7202 - REORG: ebtree: move the include files from ebtree to include/import/
7203 - REORG: ebtree: clean up remains of the ebtree/ directory
7204 - REORG: include: create new file haproxy/api-t.h
7205 - REORG: include: create new file haproxy/api.h
7206 - REORG: include: update all files to use haproxy/api.h or api-t.h if needed
7207 - CLEANUP: include: remove common/config.h
7208 - CLEANUP: include: remove unused template.h
7209 - REORG: include: move MIN/MAX from tools.h to compat.h
7210 - REORG: include: move SWAP/MID_RANGE/MAX_RANGE from tools.h to standard.h
7211 - CLEANUP: include: remove unused common/tools.h
7212 - REORG: include: move the base files from common/ to haproxy/
7213 - REORG: include: move version.h to haproxy/
7214 - REORG: include: move base64.h, errors.h and hash.h from common to to haproxy/
7215 - REORG: include: move openssl-compat.h from common/ to haproxy/
7216 - REORG: include: move ist.h from common/ to import/
7217 - REORG: include: move the BUG_ON() code to haproxy/bug.h
7218 - REORG: include: move debug.h from common/ to haproxy/
7219 - CLEANUP: debug: drop unused function p_malloc()
7220 - REORG: include: split buf.h into haproxy/buf-t.h and haproxy/buf.h
7221 - REORG: include: move istbuf.h to haproxy/
7222 - REORG: include: split mini-clist into haproxy/list and list-t.h
7223 - REORG: threads: extract atomic ops from hathreads.h
7224 - CLEANUP: threads: remove a few needless includes of hathreads.h
7225 - REORG: include: split hathreads into haproxy/thread.h and haproxy/thread-t.h
7226 - CLEANUP: thread: rename __decl_hathreads() to __decl_thread()
7227 - REORG: include: move time.h from common/ to haproxy/
7228 - REORG: include: move integer manipulation functions from standard.h to intops.h
7229 - CLEANUP: include: remove excessive includes of common/standard.h
7230 - REORG: include: move freq_ctr to haproxy/
7231 - CLEANUP: pool: include freq_ctr.h and remove locally duplicated functions
7232 - REORG: memory: move the pool type definitions to haproxy/pool-t.h
7233 - REORG: memory: move the OS-level allocator to haproxy/pool-os.h
7234 - MINOR: memory: don't let __pool_get_first() pick from the cache
7235 - MEDIUM: memory: don't let pool_put_to_cache() free the objects itself
7236 - MINOR: memory: move pool-specific path of the locked pool_free() to __pool_free()
7237 - MEDIUM: memory: make local pools independent on lockless pools
7238 - REORG: include: move common/memory.h to haproxy/pool.h
7239 - REORG: include: move common/chunk.h to haproxy/chunk.h
7240 - REORG: include: move activity to haproxy/
7241 - REORG: include: move common/buffer.h to haproxy/dynbuf{,-t}.h
7242 - REORG: include: move common/net_helper.h to haproxy/net_helper.h
7243 - REORG: include: move common/namespace.h to haproxy/namespace{,-t}.h
7244 - REORG: include: split common/regex.h into haproxy/regex{,-t}.h
7245 - REORG: include: split common/xref.h into haproxy/xref{,-t}.h
7246 - REORG: include: move common/ticks.h to haproxy/ticks.h
7247 - REORG: include: split common/http.h into haproxy/http{,-t}.h
7248 - REORG: include: split common/http-hdr.h into haproxy/http-hdr{,-t}.h
7249 - REORG: include: move common/h1.h to haproxy/h1.h
7250 - REORG: include: split common/htx.h into haproxy/htx{,-t}.h
7251 - REORG: include: move hpack*.h to haproxy/ and split hpack-tbl
7252 - REORG: include: move common/h2.h to haproxy/h2.h
7253 - REORG: include: move common/fcgi.h to haproxy/
7254 - REORG: include: move protocol.h to haproxy/protocol{,-t}.h
7255 - REORG: tools: split common/standard.h into haproxy/tools{,-t}.h
7256 - REORG: include: move dict.h to hparoxy/dict{,-t}.h
7257 - REORG: include: move shctx to haproxy/shctx{,-t}.h
7258 - REORG: include: move port_range.h to haproxy/port_range{,-t}.h
7259 - REORG: include: move fd.h to haproxy/fd{,-t}.h
7260 - REORG: include: move ring to haproxy/ring{,-t}.h
7261 - REORG: include: move sink.h to haproxy/sink{,-t}.h
7262 - REORG: include: move pipe.h to haproxy/pipe{,-t}.h
7263 - CLEANUP: include: remove empty raw_sock.h
7264 - REORG: include: move proto_udp.h to haproxy/proto_udp{,-t}.h
7265 - REORG: include: move proto/proto_sockpair.h to haproxy/proto_sockpair.h
7266 - REORG: include: move compression.h to haproxy/compression{,-t}.h
7267 - REORG: include: move h1_htx.h to haproxy/h1_htx.h
7268 - REORG: include: move http_htx.h to haproxy/http_htx{,-t}.h
7269 - REORG: include: move hlua.h to haproxy/hlua{,-t}.h
7270 - REORG: include: move hlua_fcn.h to haproxy/hlua_fcn.h
7271 - REORG: include: move action.h to haproxy/action{,-t}.h
7272 - REORG: include: move arg.h to haproxy/arg{,-t}.h
7273 - REORG: include: move auth.h to haproxy/auth{,-t}.h
7274 - REORG: include: move dns.h to haproxy/dns{,-t}.h
7275 - REORG: include: move flt_http_comp.h to haproxy/
7276 - REORG: include: move counters.h to haproxy/counters-t.h
7277 - REORG: include: split mailers.h into haproxy/mailers{,-t}.h
7278 - REORG: include: move capture.h to haproxy/capture{,-t}.h
7279 - REORG: include: move frontend.h to haproxy/frontend.h
7280 - REORG: include: move obj_type.h to haproxy/obj_type{,-t}.h
7281 - REORG: include: move http_rules.h to haproxy/http_rules.h
7282 - CLEANUP: include: remove unused mux_pt.h
7283 - REORG: include: move mworker.h to haproxy/mworker{,-t}.h
7284 - REORG: include: move ssl_utils.h to haproxy/ssl_utils.h
7285 - REORG: include: move ssl_ckch.h to haproxy/ssl_ckch{,-t}.h
7286 - REORG: move ssl_crtlist.h to haproxy/ssl_crtlist{,-t}.h
7287 - REORG: include: move lb_chash.h to haproxy/lb_chash{,-t}.h
7288 - REORG: include: move lb_fas.h to haproxy/lb_fas{,-t}.h
7289 - REORG: include: move lb_fwlc.h to haproxy/lb_fwlc{,-t}.h
7290 - REORG: include: move lb_fwrr.h to haproxy/lb_fwrr{,-t}.h
7291 - REORG: include: move listener.h to haproxy/listener{,-t}.h
7292 - REORG: include: move pattern.h to haproxy/pattern{,-t}.h
7293 - REORG: include: move map to haproxy/map{,-t}.h
7294 - REORG: include: move payload.h to haproxy/payload.h
7295 - REORG: include: move sample.h to haproxy/sample{,-t}.h
7296 - REORG: include: move protocol_buffers.h to haproxy/protobuf{,-t}.h
7297 - REORG: include: move vars.h to haproxy/vars{,-t}.h
7298 - REORG: include: split global.h into haproxy/global{,-t}.h
7299 - REORG: include: move task.h to haproxy/task{,-t}.h
7300 - REORG: include: move proto_tcp.h to haproxy/proto_tcp.h
7301 - REORG: include: move signal.h to haproxy/signal{,-t}.h
7302 - REORG: include: move tcp_rules.h to haproxy/tcp_rules.h
7303 - REORG: include: move connection.h to haproxy/connection{,-t}.h
7304 - REORG: include: move checks.h to haproxy/check{,-t}.h
7305 - REORG: include: move http_fetch.h to haproxy/http_fetch.h
7306 - REORG: include: move peers.h to haproxy/peers{,-t}.h
7307 - REORG: include: move stick_table.h to haproxy/stick_table{,-t}.h
7308 - REORG: include: move session.h to haproxy/session{,-t}.h
7309 - REORG: include: move trace.h to haproxy/trace{,-t}.h
7310 - REORG: include: move acl.h to haproxy/acl.h{,-t}.h
7311 - REORG: include: split common/uri_auth.h into haproxy/uri_auth{,-t}.h
7312 - REORG: move applet.h to haproxy/applet{,-t}.h
7313 - REORG: include: move stats.h to haproxy/stats{,-t}.h
7314 - REORG: include: move cli.h to haproxy/cli{,-t}.h
7315 - REORG: include: move lb_map.h to haproxy/lb_map{,-t}.h
7316 - REORG: include: move ssl_sock.h to haproxy/ssl_sock{,-t}.h
7317 - REORG: include: move stream_interface.h to haproxy/stream_interface{,-t}.h
7318 - REORG: include: move channel.h to haproxy/channel{,-t}.h
7319 - REORG: include: move http_ana.h to haproxy/http_ana{,-t}.h
7320 - REORG: include: move filters.h to haproxy/filters{,-t}.h
7321 - REORG: include: move fcgi-app.h to haproxy/fcgi-app{,-t}.h
7322 - REORG: include: move log.h to haproxy/log{,-t}.h
7323 - REORG: include: move proxy.h to haproxy/proxy{,-t}.h
7324 - REORG: include: move spoe.h to haproxy/spoe{,-t}.h
7325 - REORG: include: move backend.h to haproxy/backend{,-t}.h
7326 - REORG: include: move queue.h to haproxy/queue{,-t}.h
7327 - REORG: include: move server.h to haproxy/server{,-t}.h
7328 - REORG: include: move stream.h to haproxy/stream{,-t}.h
7329 - REORG: include: move cfgparse.h to haproxy/cfgparse.h
7330 - CLEANUP: hpack: export debug functions and move inlines to .h
7331 - REORG: check: move the e-mail alerting code to mailers.c
7332 - REORG: check: move tcpchecks away from check.c
7333 - REORG: check: move email_alert* from proxy-t.h to mailers-t.h
7334 - REORG: check: extract the external checks from check.{c,h}
7335 - CLEANUP: include: don't include stddef.h directly
7336 - CLEANUP: include: don't include proxy-t.h in global-t.h
7337 - CLEANUP: include: move sample_data out of sample-t.h
7338 - REORG: include: move the error reporting functions to from log.h to errors.h
7339 - BUILD: reorder objects in the Makefile for faster builds
7340 - CLEANUP: compiler: add a THREAD_ALIGNED macro and use it where appropriate
7341 - CLEANUP: include: make atomic.h part of the base API
7342 - REORG: include: move MAX_THREADS to defaults.h
7343 - REORG: include: move THREAD_LOCAL and __decl_thread() to compiler.h
7344 - CLEANUP: include: tree-wide alphabetical sort of include files
7345 - REORG: include: make list-t.h part of the base API
7346 - REORG: dgram: rename proto_udp to dgram
7347
7348 2020/05/22 : 2.2-dev8
7349 - MINOR: checks: Improve report of unexpected errors for expect rules
7350 - MEDIUM: checks: Add matching on log-format string for expect rules
7351 - DOC: Fix req.body and co documentation to be accurate
7352 - MEDIUM: checks: Remove dedicated sample fetches and use response ones instead
7353 - CLEANUP: checks: sort and rename tcpcheck_expect_type types
7354 - MINOR: checks: Use dedicated actions to send log-format strings in send rules
7355 - MINOR: checks: Simplify matching on HTTP headers in HTTP expect rules
7356 - MINOR: checks/sample: Remove unnecessary tests on the sample session
7357 - REGTEST: checks: Adapt SSL error message reported when connection is rejected
7358 - MINOR: mworker: replace ha_alert by ha_warning when exiting successfuly
7359 - MINOR: checks: Support log-format string to set the URI for HTTP send rules
7360 - MINOR: checks: Support log-format string to set the body for HTTP send rules
7361 - DOC: Be more explicit about configurable check ok/error/timeout status
7362 - MINOR: checks: Make matching on HTTP headers for expect rules less obscure
7363 - BUG/MEDIUM: lua: Fix dumping of stick table entries for STD_T_DICT
7364 - BUG/MINOR: config: Make use_backend and use-server post-parsing less obscur
7365 - REGTESTS: make the http-check-send test require version 2.2
7366 - BUG/MINOR: http-ana: fix NTLM response parsing again
7367 - BUG/MEDIUM: http_ana: make the detection of NTLM variants safer
7368 - BUG/MINOR: cfgparse: Abort parsing the current line if an invalid \x sequence is encountered
7369 - MINOR: cfgparse: Improve error message for invalid \x sequences
7370 - CI: travis-ci: enable arm64 builds again
7371 - MEDIUM: ssl: increase default-dh-param to 2048
7372 - CI: travis-ci: skip pcre2 on arm64 build
7373 - CI: travis-ci: extend the build time for SSL to 60 minutes
7374 - CLEANUP: config: drop unused setting CONFIG_HAP_MEM_OPTIM
7375 - CLEANUP: config: drop unused setting CONFIG_HAP_INLINE_FD_SET
7376 - CLENAUP: config: move CONFIG_HAP_LOCKLESS_POOLS out of config.h
7377 - CLEANUP: remove THREAD_LOCAL from config.h
7378 - CI: travis-ci: upgrade LibreSSL versions
7379 - DOC: assorted typo fixes in the documentation
7380 - CI: extend spellchecker whitelist
7381 - CLEANUP: assorted typo fixes in the code and comments
7382 - MAJOR: contrib: porting spoa_server to support python3
7383 - BUG/MEDIUM: checks: Subscribe to I/O events on an unfinished connect
7384 - BUG/MINOR: checks: Don't subscribe to I/O events if it is already done
7385 - BUG/MINOR: checks: Rely on next I/O oriented rule when waiting for a connection
7386 - MINOR: checks: Don't try to send outgoing data if waiting to be able to send
7387 - MINOR: sample: Move aes_gcm_dec implementation into sample.c
7388 - MINOR: sample: Add digest and hmac converters
7389 - BUG/MEDIUM: checks: Subscribe to I/O events only if a mux was installed
7390 - BUG/MINOR: sample/ssl: Fix digest converter for openssl < 1.1.0
7391 - BUG/MINOR: pools: use %u not %d to report pool stats in "show pools"
7392 - BUG/MINOR: pollers: remove uneeded free in global init
7393 - CLEANUP: select: enhance readability in init
7394 - BUG/MINOR: soft-stop: always wake up waiting threads on stopping
7395 - MINOR: soft-stop: let the first stopper only signal other threads
7396 - BUILD: select: only declare existing local labels to appease clang
7397 - BUG/MEDIUM: streams: Remove SF_ADDR_SET if we're retrying due to L7 retry.
7398 - BUG/MEDIUM: stream: Only allow L7 retries when using HTTP.
7399 - DOC: retry-on can only be used with mode http
7400 - MEDIUM: ssl: allow to register callbacks for SSL/TLS protocol messages
7401 - MEDIUM: ssl: split ssl_sock_msgcbk() and use a new callback mechanism
7402 - MINOR: ssl: add a new function ssl_sock_get_ssl_object()
7403 - MEDIUM: ssl: use ssl_sock_get_ssl_object() in fetchers where appropriate
7404 - REORG: ssl: move macros and structure definitions to ssl_sock.h
7405 - CLEANUP: ssl: remove the shsess_* macros
7406 - REORG: move the crt-list structures in their own .h
7407 - REORG: ssl: move the ckch structures to types/ssl_ckch.h
7408 - CLEANUP: ssl: add ckch prototypes in proto/ssl_ckch.h
7409 - REORG: ssl: move crtlist functions to src/ssl_crtlist.c
7410 - CLEANUP: ssl: avoid circular dependencies in ssl_crtlist.h
7411 - REORG: ssl: move the ckch_store related functions to src/ssl_ckch.c
7412 - REORG: ssl: move ckch_inst functions to src/ssl_ckch.c
7413 - REORG: ssl: move the crt-list CLI functions in src/ssl_crtlist.c
7414 - REORG: ssl: move the CLI 'cert' functions to src/ssl_ckch.c
7415 - REORG: ssl: move ssl configuration to cfgparse-ssl.c
7416 - MINOR: ssl: remove static keyword in some SSL utility functions
7417 - REORG: ssl: move ssl_sock_ctx and fix cross-dependencies issues
7418 - REORG: ssl: move sample fetches to src/ssl_sample.c
7419 - REORG: ssl: move utility functions to src/ssl_utils.c
7420 - DOC: ssl: update MAINTAINERS file
7421 - CI: travis-ci: switch arm64 builds to use openssl from distro
7422 - MINOR: stats: Prepare for more accurate moving averages
7423 - MINOR: stats: Expose native cum_req metric for a server
7424 - MEDIUM: stats: Enable more accurate moving average calculation for stats
7425 - BUILD: ssl: include buffer common headers for ssl_sock_ctx
7426 - BUILD: ssl: include errno.h in ssl_crtlist.c
7427 - CLEANUP: acl: remove unused assignment
7428 - DOC/MINOR: halog: Add long help info for ic flag
7429 - BUILD: ssl: fix build without OPENSSL_NO_ENGINE
7430 - DOC: SPOE is no longer experimental
7431 - BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt()
7432 - MINOR: config: Don't dump keywords if argument is NULL
7433 - MEDIUM: checks: Make post-41 the default mode for mysql checks
7434 - BUG/MINOR: logs: prevent double line returns in some events.
7435 - MEDIUM: sink: build header in sink_write for log formats
7436 - MEDIUM: logs: buffer targets now rely on new sink_write
7437 - MEDIUM: sink: add global statement to create a new ring (sink buffer)
7438 - MEDIUM: hpack: use a pool for the hpack table
7439 - BUG/MAJOR: mux-fcgi: Stop sending loop if FCGI stream is blocked for any reason
7440 - BUG/MEDIUM: ring: write-lock the ring while attaching/detaching
7441 - MINOR: applet: adopt the wait list entry from the CLI
7442 - MINOR: ring: make the applet code not depend on the CLI
7443 - Revert "MEDIUM: sink: add global statement to create a new ring (sink buffer)"
7444 - CI: travis-ci: fix libslz download URL
7445 - MINOR: ssl: split config and runtime variable for ssl-{min,max}-ver
7446 - CLEANUP: http_ana: Remove unused TXN flags
7447 - BUG/MINOR: http-rules: Mark http return rules as final
7448 - MINOR: http-htx: Add http_reply type based on what is used for http return rules
7449 - CLEANUP: http-htx: Rename http_error structure into http_error_msg
7450 - MINOR: http-rules: Use http_reply structure for http return rules
7451 - MINOR: http-htx: Use a dedicated function to release http_reply objects
7452 - MINOR: http-htx: Use a dedicated function to parse http reply arguments
7453 - MINOR: http-htx: Use a dedicated function to check http reply validity
7454 - MINOR: http-ana: Use a dedicated function to send a response from an http reply
7455 - MEDIUM: http-rules: Rely on http reply for http deny/tarpit rules
7456 - MINOR: http-htx: Store default error messages in a global http reply array
7457 - MINOR: http-htx: Store messages of an http-errors section in a http reply array
7458 - MINOR: http-htx: Store errorloc/errorfile messages in http replies
7459 - MINOR: proxy: Add references on http replies for proxy error messages
7460 - MINOR: http-htx: Use http reply from the http-errors section
7461 - MINOR: http-ana: Use a TXN flag to prevent after-response ruleset evaluation
7462 - MEDIUM: http-ana: Use http replies for HTTP error messages
7463 - CLEANUP: http-htx: Remove unused storage of error messages in buffers
7464 - MINOR: htx: Add a function to copy a buffer in an HTX message
7465 - CLEANUP: channel: Remove channel_htx_copy_msg() function
7466 - MINOR: http-ana: Add a function to write an http reply in an HTX message
7467 - MINOR: http-htx/proxy: Add http-error directive using http return syntax
7468 - DOC: Fix "errorfile" description in the configuration manual
7469 - BUG/MINOR: checks: Respect check-ssl param when a port or an addr is specified
7470 - BUILD: hpack: make sure the hpack table can still be built standalone
7471 - CONTRIB: hpack: make use of the simplified standalone HPACK API
7472 - MINOR: connection: add pp2-never-send-local to support old PP2 behavior
7473
7474 2020/05/05 : 2.2-dev7
7475 - MINOR: version: Show uname output in display_version()
7476 - CI: run weekly OpenSSL "no-deprecated" builds
7477 - CLEANUP: log: fix comment of parse_logformat_string()
7478 - DOC: Improve documentation on http-request set-src
7479 - MINOR: ssl/cli: disallow SSL options for directory in 'add ssl crt-list'
7480 - MINOR: ssl/cli: restrain certificate path when inserting into a directory
7481 - MINOR: ssl: add ssl-skip-self-issued-ca global option
7482 - BUG/MINOR: ssl: default settings for ssl server options are not used
7483 - MINOR: config: add a global directive to set default SSL curves
7484 - BUG/MEDIUM: http-ana: Handle NTLM messages correctly.
7485 - DOC: internals: update the SSL architecture schema
7486 - BUG/MINOR: tools: fix the i386 version of the div64_32 function
7487 - BUG/MINOR: mux-fcgi/trace: fix wrong set of trace flags in fcgi_strm_add_eom()
7488 - BUG/MINOR: http: make url_decode() optionally convert '+' to SP
7489 - DOC: option logasap does not depend on mode
7490 - MEDIUM: memory: make pool_gc() run under thread isolation
7491 - MINOR: contrib: make the peers wireshark dissector a plugin
7492 - BUG/MINOR: http-ana: Throw a 500 error if after-response ruleset fails on errors
7493 - BUG/MINOR: check: Update server address and port to execute an external check
7494 - MINOR: mini-clist: Add functions to iterate backward on a list
7495 - MINOR: checks: Add a way to send custom headers and payload during http chekcs
7496 - MINOR: server: respect warning and alert semantic
7497 - BUG/MINOR: checks: Respect the no-check-ssl option
7498 - BUG/MEDIUM: server/checks: Init server check during config validity check
7499 - CLEANUP: checks: Don't export anymore init_check and srv_check_healthcheck_port
7500 - BUG/MINOR: checks: chained expect will not properly wait for enough data
7501 - BUG/MINOR: checks: Forbid tcp-check lines in default section as documented
7502 - MINOR: checks: Use an enum to describe the tcp-check rule type
7503 - MINOR: checks: Simplify connection flag parsing in tcp-check connect
7504 - MEDIUM: checks: rewind to the first inverse expect rule of a chain on new data
7505 - MINOR: checks: simplify tcp expect config parser
7506 - MINOR: checks: add min-recv tcp-check expect option
7507 - MINOR: checks: add linger option to tcp connect
7508 - MINOR: checks: define a tcp expect type
7509 - MEDIUM: checks: rewrite tcp-check expect block
7510 - MINOR: checks: Stop xform buffers to null-terminated string for tcp-check rules
7511 - MINOR: checks: add rbinary expect match type
7512 - MINOR: checks: Simplify functions to get step id and comment
7513 - MEDIUM: checks: capture groups in expect regexes
7514 - MINOR: checks: Don't use a static tcp rule list head
7515 - MEDIUM: checks: Use a non-comment rule iterator to get next rule
7516 - MEDIUM: proxy/checks: Register a keyword to parse tcp-check rules
7517 - MINOR: checks: Set the tcp-check rule index during parsing
7518 - MINOR: checks: define tcp-check send type
7519 - MINOR: checks: define a tcp-check connect type
7520 - MEDIUM: checks: Add implicit tcp-check connect rule
7521 - MAJOR: checks: Refactor and simplify the tcp-check loop
7522 - MEDIUM: checks: Associate a session to each tcp-check healthcheck
7523 - MINOR: checks/vars: Add a check scope for variables
7524 - MEDIUM: checks: Parse custom action rules in tcp-checks
7525 - MINOR: checks: Add support to set-var and unset-var rules in tcp-checks
7526 - MINOR: checks: Add the sni option for tcp-check connect rules
7527 - MINOR: checks: Add the via-socks4 option for tcp-check connect rules
7528 - MINOR: checks: Add the alpn option for tcp-check connect rules
7529 - MINOR: ssl: Export a generic function to parse an alpn string
7530 - MINOR: checks: Add the default option for tcp-check connect rules
7531 - MINOR: checks: Add the addr option for tcp-check connect rule
7532 - MEDIUM: checks: Support expression to set the port
7533 - MEDIUM: checks: Support log-format strings for tcp-check send rules
7534 - MINOR: log: Don't depends on a stream to process samples in log-format string
7535 - MINOR: log: Don't systematically set LW_REQ when a sample expr is added
7536 - MEDIUM: checks: Add a shared list of tcp-check rules
7537 - MINOR: sample: add htonl converter
7538 - MINOR: sample: add cut_crlf converter
7539 - MINOR: sample: add ltrim converter
7540 - MINOR: sample: add rtrim converter
7541 - MINOR: checks: Use a name for the healthcheck status enum
7542 - MINOR: checks: Add option to tcp-check expect rules to customize error status
7543 - MINOR: checks: Merge tcp-check comment rules with the others at config parsing
7544 - MINOR: checks: Add a sample fetch to extract a block from the input check buffer
7545 - MEDIUM: checks: Add on-error/on-success option on tcp-check expect rules
7546 - MEDIUM: checks: Add status-code sample expression on tcp-check expect rules
7547 - MINOR: checks: Relax the default option for tcp-check connect rules
7548 - MEDIUM: checks: Add a list of vars to set before executing a tpc-check ruleset
7549 - MINOR: checks: Export the tcpcheck_eval_ret enum
7550 - MINOR: checks: Use dedicated function to handle onsuccess/onerror messages
7551 - MINOR: checks: Support custom functions to eval a tcp-check expect rules
7552 - MEDIUM: checks: Implement redis check using tcp-check rules
7553 - MEDIUM: checks: Implement ssl-hello check using tcp-check rules
7554 - MEDIUM: checks: Implement smtp check using tcp-check rules
7555 - MEDIUM: checks: Implement postgres check using tcp-check rules
7556 - MEDIUM: checks: Implement MySQL check using tcp-check rules
7557 - MEDIUM: checks: Implement LDAP check using tcp-check rules
7558 - MEDIUM: checks: Implement SPOP check using tcp-check rules
7559 - MINOR: server/checks: Move parsing of agent keywords in checks.c
7560 - MINOR: server/checks: Move parsing of server check keywords in checks.c
7561 - MEDIUM: checks: Implement agent check using tcp-check rules
7562 - REGTEST: Adapt regtests about checks to recent changes
7563 - MINOR: Produce tcp-check info message for pure tcp-check rules only
7564 - MINOR: checks: Add an option to set success status of tcp-check expect rules
7565 - MINOR: checks: Improve log message of tcp-checks on success
7566 - MINOR: proxy/checks: Move parsing of httpchk option in checks.c
7567 - MINOR: proxy/checks: Move parsing of tcp-check option in checks.c
7568 - MINOR: proxy/checks: Register a keyword to parse http-check rules
7569 - MINOR: proxy/checks: Move parsing of external-check option in checks.c
7570 - MINOR: proxy/checks: Register a keyword to parse external-check rules
7571 - MEDIUM: checks: Use a shared ruleset to store tcp-check rules
7572 - MINOR: checks: Use an indirect string to represent the expect matching string
7573 - MINOR: checks: Introduce flags to configure in tcp-check expect rules
7574 - MINOR: standard: Add my_memspn and my_memcspn
7575 - MINOR: checks: Add a reverse non-comment rule iterator to get last rule
7576 - MAJOR: checks: Implement HTTP check using tcp-check rules
7577 - MINOR: checks: Make resume conditions more explicit in tcpcheck_main()
7578 - MINOR: connection: Add macros to know if a conn or a cs uses an HTX mux
7579 - MEDIUM: checks: Refactor how data are received in tcpcheck_main()
7580 - MINOR: checks/obj_type: Add a new object type for checks
7581 - BUG/MINOR: obj_type: Handle stream object in obj_base_ptr() function
7582 - MINOR: checks: Use the check as origin when a session is created
7583 - MINOR: checks: Add a mux proto to health-check and tcp-check connect rule
7584 - MINOR: connection: Add a function to install a mux for a health-check
7585 - MAJOR: checks: Use the best mux depending on the protocol for health checks
7586 - MEDIUM: checks: Implement default TCP check using tcp-check rules
7587 - MINOR: checks: Remove unused code about pure TCP checks
7588 - CLEANUP: checks: Reorg checks.c file to be more readable
7589 - REGTEST: Fix reg-tests about health-checks to adapt them to recent changes
7590 - MINOR: ist: Add a function to retrieve the ist pointer
7591 - MINOR: checks: Use ist API as far as possible
7592 - BUG/MEDIUM: checks: Be sure to subscribe for sends if outgoing data remains
7593 - MINOR: checks: Use a tree instead of a list to store tcp-check rulesets
7594 - BUG/MINOR: checks: Send the right amount of outgoing data for HTTP checks
7595 - REGTEST: Add scripts to test based tcp-check health-checks
7596 - Revert "MEDIUM: checks: capture groups in expect regexes"
7597 - DOC: Add documentation about comments for tcp-check and http-check directives
7598 - DOC: Fix the tcp-check and http-check directives layout
7599 - BUG/MEDIUM: checks: Use the mux protocol specified on the server line
7600 - MINOR: checks: Support mux protocol definition for tcp and http health checks
7601 - BUG/MINOR: mux-fcgi: Be sure to have a connection as session's origin to use it
7602 - MINOR: checks: Support list of status codes on http-check expect rules
7603 - BUG/MEDIUM: checks: Unsubscribe to mux events when a conn-stream is destroyed
7604 - REGTEST: Add a script to validate agent checks
7605 - BUG/MINOR: server: Fix server_finalize_init() to avoid unused variable
7606 - BUG/MEDIUM: checks: unsubscribe for events on the old conn-stream on connect
7607 - BUG/MINOR: checks: Only use ssl_sock_is_ssl() if compiled with SSL support
7608 - BUG/MINOR: checks/server: use_ssl member must be signed
7609 - BUG/MEDIUM: sessions: Always pass the mux context as argument to destroy a mux
7610 - BUG/MEDIUM: checks: Destroy the conn-stream before the session
7611 - BUG/MINOR: checks: Fix PostgreSQL regex on the authentication packet
7612 - CI: cirrus-ci: remove reg-tests/checks/tcp-check-ssl.vtc on CentOS 6
7613 - MINOR: checks: Support HTTP/2 version (without '.0') for http-check send rules
7614 - MINOR: checks: Use ver keyword to specify the HTTP version for http checks
7615 - BUG/MINOR: checks: Remove wrong variable redeclaration
7616 - BUG/MINOR: checks: Properly handle truncated mysql server messages
7617 - CLEANUP: checks: Remove unused code when ldap server message is parsed
7618 - MINOR: checks: Make the use of the check's server more explicit on connect
7619 - BUG/MINOR: checks: Avoid incompatible cast when a binary string is parsed
7620 - BUG/MINOR: checks: Remove bad call to free() when an expect rule is parsed
7621 - BUG/MINOR: checks: Don't lose warning on proxy capability
7622 - MINOR: log: Add "Tu" timer
7623 - BUG/MINOR: checks: Set the output buffer length before calling parse_binary()
7624 - BUG/MEDIUM: mux-h1: make sure we always have a timeout on front connections
7625 - REGTEST: ssl: test the client certificate authentication
7626 - DOC: give a more accurate description of what check does
7627 - BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream
7628 - BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream
7629 - BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam
7630 - BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam
7631 - CLEANUP: http: add a few comments on certain functions' assumptions about streams
7632 - BUG/MEDIUM: sample: make the CPU and latency sample fetches check for a stream
7633 - MINOR: http-htx: Export functions to update message authority and host
7634 - MINOR: checks: Don't support multiple host header for http-check send rule
7635 - MINOR: checks: Skip some headers for http-check send rules
7636 - MINOR: checks: Keep the Host header and the request uri synchronized
7637 - CLEANUP: checks: Fix checks includes
7638 - DOC: Fix send rules in the http-check connect example
7639 - DOC: Add more info about request formatting in http-check send description
7640 - REGTEST: http-rules: Require PCRE or PCRE2 option to run map_redirect script
7641 - REGTEST: ssl: remove curl from the "add ssl crt-list" test
7642 - REGTEST: ssl: improve the "set ssl cert" test
7643 - CLEANUP: ssl: silence a build warning when threads are disabled
7644 - BUG/MEDIUM: listener: mark the thread as not stuck inside the loop
7645 - MINOR: threads: export the POSIX thread ID in panic dumps
7646 - BUG/MINOR: debug: properly use long long instead of long for the thread ID
7647 - BUG/MEDIUM: shctx: really check the lock's value while waiting
7648 - BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock
7649 - MINOR: stream: report the list of active filters on stream crashes
7650 - BUG/MEDIUM: mux-fcgi: Return from detach if server don't keep the connection
7651 - BUG/MEDIUM: mux_fcgi: Free the FCGI connection at the end of fcgi_release()
7652 - BUG/MEDIUM: mux-fcgi: Fix wrong test on FCGI_CF_KEEP_CONN in fcgi_detach()
7653 - BUG/MEDIUM: connections: force connections cleanup on server changes
7654 - BUG/MEDIUM: h1: Don't compare host and authority if only h1 headers are parsed
7655 - BUG/MEDIUM: ssl: fix the id length check within smp_fetch_ssl_fc_session_id()
7656 - CLEANUP: connections: align function declaration
7657 - BUG/MINOR: sample: Set the correct type when a binary is converted to a string
7658 - MEDIUM: checks/http-fetch: Support htx prefetch from a check for HTTP samples
7659 - DOC: Document the log-format parameter for tcp-check send/send-binary rules
7660 - MINOR: checks: Add support of payload-based sample fetches
7661 - MINOR: checks: Add support of be_id, be_name, srv_id and srv_name sample fetches
7662 - MINOR: checks: Add support of server side ssl sample fetches
7663 - MINOR: checks: Add support of HTTP response sample fetches
7664 - MINOR: http-htx: Support different methods to look for header names
7665 - MINOR: checks: Set by default expect rule status to UNKNOWN during parsing
7666 - BUG/MINOR: checks: Support multiple HTTP expect rules
7667 - REGTEST: checks: Fix sync condition for agent-check
7668 - MEDIUM: checks: Support matching on headers for http-check expect rules
7669 - MINOR: lua: allow changing port with set_addr
7670 - BUG/MINOR: da: Fix HTX message prefetch
7671 - BUG/MINOR: wurfl: Fix HTX message prefetch
7672 - BUG/MINOR: 51d: Fix HTX message prefetch
7673 - MINOR: ist: add istadv() function
7674 - MINOR: ist: add istissame() function
7675 - MINOR: istbuf: add ist2buf() function
7676 - BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_CAS()
7677 - BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_UPDATE_{MIN,MAX}()
7678 - DOC: update intro.txt for 2.2
7679 - DOC: intro: add a contacts section
7680
7681 2020/04/17 : 2.2-dev6
7682 - BUG/MINOR: ssl: memory leak when find_chain is NULL
7683 - CLEANUP: ssl: rename ssl_get_issuer_chain to ssl_get0_issuer_chain
7684 - MINOR: ssl: rework add cert chain to CTX to be libssl independent
7685 - BUG/MINOR: peers: init bind_proc to 1 if it wasn't initialized
7686 - BUG/MINOR: peers: avoid an infinite loop with peers_fe is NULL
7687 - BUG/MINOR: peers: Use after free of "peers" section.
7688 - CI: github actions: add weekly h2spec test
7689 - BUG/MEDIUM: mux_h1: Process a new request if we already received it.
7690 - MINOR: build: Fix build in mux_h1
7691 - CLEANUP: remove obsolete comments
7692 - BUG/MEDIUM: dns: improper parsing of aditional records
7693 - MINOR: ssl: skip self issued CA in cert chain for ssl_ctx
7694 - MINOR: listener: add so_name sample fetch
7695 - MEDIUM: stream: support use-server rules with dynamic names
7696 - MINOR: servers: Add a counter for the number of currently used connections.
7697 - MEDIUM: connections: Revamp the way idle connections are killed
7698 - MINOR: cli: add a general purpose pointer in the CLI struct
7699 - MINOR: ssl: add a list of bind_conf in struct crtlist
7700 - REORG: ssl: move SETCERT enum to ssl_sock.h
7701 - BUG/MINOR: ssl: ckch_inst wrongly inserted in crtlist_entry
7702 - REORG: ssl: move some functions above crtlist_load_cert_dir()
7703 - MINOR: ssl: use crtlist_free() upon error in directory loading
7704 - MINOR: ssl: add a list of crtlist_entry in ckch_store
7705 - MINOR: ssl: store a ptr to crtlist in crtlist_entry
7706 - MINOR: ssl/cli: update pointer to store in 'commit ssl cert'
7707 - MEDIUM: ssl/cli: 'add ssl crt-list' command
7708 - REGTEST: ssl/cli: test the 'add ssl crt-list' command
7709 - BUG/MINOR: ssl: entry->ckch_inst not initialized
7710 - REGTEST: ssl/cli: change test type to devel
7711 - REGTEST: make the PROXY TLV validation depend on version 2.2
7712 - CLEANUP: assorted typo fixes in the code and comments
7713 - BUG/MINOR: stats: Fix color of draining servers on stats page
7714 - DOC: internals: Fix spelling errors in filters.txt
7715 - MINOR: connections: Don't mark conn flags 0x00000001 and 0x00000002 as unused.
7716 - REGTEST: make the unique-id test depend on version 2.0
7717 - BUG/MEDIUM: dns: Consider the fact that dns answers are case-insensitive
7718 - MINOR: ssl: split the line parsing of the crt-list
7719 - MINOR: ssl/cli: support filters and options in add ssl crt-list
7720 - MINOR: ssl: add a comment above the ssl_bind_conf keywords
7721 - REGTEST: ssl/cli: tests options and filters w/ add ssl crt-list
7722 - REGTEST: ssl: pollute the crt-list file
7723 - BUG/CRITICAL: hpack: never index a header into the headroom after wrapping
7724 - BUG/MINOR: protocol_buffer: Wrong maximum shifting.
7725 - CLEANUP: src/fd.c: mask setsockopt with DISGUISE
7726 - BUG/MINOR: ssl/cli: initialize fcount int crtlist_entry
7727 - REGTEST: ssl/cli: add other cases of 'add ssl crt-list'
7728 - CLEANUP: assorted typo fixes in the code and comments
7729 - DOC: management: add the new crt-list CLI commands
7730 - BUG/MINOR: ssl/cli: fix spaces in 'show ssl crt-list'
7731 - MINOR: ssl/cli: 'del ssl crt-list' delete an entry
7732 - MINOR: ssl/cli: replace dump/show ssl crt-list by '-n' option
7733 - CI: use better SSL library definition
7734 - CI: travis-ci: enable DEBUG_STRICT=1 for CI builds
7735 - CI: travis-ci: upgrade openssl to 1.1.1f
7736 - MINOR: ssl: improve the errors when a crt can't be open
7737 - CI: cirrus-ci: rename openssl package after it is renamed in FreeBSD
7738 - CI: adopt openssl download script to download all versions
7739 - BUG/MINOR: ssl/cli: lock the ckch structures during crt-list delete
7740 - MINOR: ssl/cli: improve error for bundle in add/del ssl crt-list
7741 - MINOR: ssl/cli: 'del ssl cert' deletes a certificate
7742 - BUG/MINOR: ssl: trailing slashes in directory names wrongly cached
7743 - BUG/MINOR: ssl/cli: memory leak in 'set ssl cert'
7744 - CLEANUP: ssl: use the refcount for the SSL_CTX'
7745 - CLEANUP: ssl/cli: use the list of filters in the crtlist_entry
7746 - BUG/MINOR: ssl: memleak of the struct cert_key_and_chain
7747 - CLEANUP: ssl: remove a commentary in struct ckch_inst
7748 - MINOR: ssl: initialize all list in ckch_inst_new()
7749 - MINOR: ssl: free instances and SNIs with ckch_inst_free()
7750 - MINOR: ssl: replace ckchs_free() by ckch_store_free()
7751 - BUG/MEDIUM: ssl/cli: trying to access to free'd memory
7752 - MINOR: ssl: ckch_store_new() alloc and init a ckch_store
7753 - MINOR: ssl: crtlist_new() alloc and initialize a struct crtlist
7754 - REORG: ssl: move some free/new functions
7755 - MINOR: ssl: crtlist_entry_{new, free}
7756 - BUG/MINOR: ssl: ssl_conf always set to NULL on crt-list parsing
7757 - MINOR: ssl: don't alloc ssl_conf if no option found
7758 - BUG/MINOR: connection: always send address-less LOCAL PROXY connections
7759 - BUG/MINOR: peers: Incomplete peers sections should be validated.
7760 - MINOR: init: report in "haproxy -c" whether there were warnings or not
7761 - MINOR: init: add -dW and "zero-warning" to reject configs with warnings
7762 - MINOR: init: report the compiler version in haproxy -vv
7763 - CLEANUP: assorted typo fixes in the code and comments
7764 - MINOR: init: report the haproxy version and executable path once on errors
7765 - DOC: Make how "option redispatch" works more explicit
7766 - BUILD: Makefile: add linux-musl to TARGET
7767 - CLEANUP: assorted typo fixes in the code and comments
7768 - CLEANUP: http: Fixed small typo in parse_http_return
7769 - DOC: hashing: update link to hashing functions
7770
7771 2020/03/23 : 2.2-dev5
7772 - CLEANUP: ssl: is_default is a bit in ckch_inst
7773 - BUG/MINOR: ssl/cli: sni_ctx' mustn't always be used as filters
7774 - DOC: ssl: clarify security implications of TLS tickets
7775 - CLEANUP: remove support for Linux i686 vsyscalls
7776 - CLEANUP: drop support for USE_MY_ACCEPT4
7777 - CLEANUP: remove support for USE_MY_EPOLL
7778 - CLEANUP: remove support for USE_MY_SPLICE
7779 - CLEANUP: remove the now unused common/syscall.h
7780 - BUILD: make dladdr1 depend on glibc version and not __USE_GNU
7781 - BUILD: wdt: only test for SI_TKILL when compiled with thread support
7782 - BUILD: Makefile: the compiler-specific flags should all be in SPEC_CFLAGS
7783 - CLEANUP: ssl: separate the directory loading in a new function
7784 - BUG/MINOR: buffers: MT_LIST_DEL_SAFE() expects the temporary pointer.
7785 - BUG/MEDIUM: mt_lists: Make sure we set the deleted element to NULL;
7786 - MINOR: init: move the maxsock calculation code to compute_ideal_maxsock()
7787 - MEDIUM: init: always try to push the FD limit when maxconn is set from -m
7788 - BUG/MAJOR: list: fix invalid element address calculation
7789 - BUILD: stream-int: fix a few includes dependencies
7790 - MINOR: mt_lists: Appease gcc.
7791 - MINOR: lists: Implement function to convert list => mt_list and mt_list => list
7792 - MINOR: servers: Kill priv_conns.
7793 - MINOR: lists: fix indentation.
7794 - BUG/MEDIUM: random: align the state on 2*64 bits for ARM64
7795 - BUG/MEDIUM: connections: Don't assume the connection has a valid session.
7796 - BUG/MEDIUM: pools: Always update free_list in pool_gc().
7797 - BUG/MINOR: haproxy: always initialize sleeping_thread_mask
7798 - BUG/MINOR: listener/mq: do not dispatch connections to remote threads when stopping
7799 - BUG/MINOR: haproxy/threads: try to make all threads leave together
7800 - Revert "BUILD: travis-ci: enable s390x builds"
7801 - BUILD: travis-ci: enable regular s390x builds
7802 - DOC: proxy_protocol: Reserve TLV type 0x05 as PP2_TYPE_UNIQUE_ID
7803 - MINOR: proxy_protocol: Ingest PP2_TYPE_UNIQUE_ID on incoming connections
7804 - MEDIUM: proxy_protocol: Support sending unique IDs using PPv2
7805 - CLEANUP: connection: Add blank line after declarations in PP handling
7806 - CLEANUP: assorted typo fixes in the code and comments
7807 - CI: add spellcheck github action
7808 - DOC: correct typo in alert message about rspirep
7809 - CI: travis: switch linux builds to clang-9
7810 - MINOR: debug: add a new DISGUISE() macro to pass a value as identity
7811 - MINOR: debug: consume the write() result in BUG_ON() to silence a warning
7812 - MINOR: use DISGUISE() everywhere we deliberately want to ignore a result
7813 - BUILD: pools: silence build warnings with DEBUG_MEMORY_POOLS and DEBUG_UAF
7814 - CLEANUP: connection: Stop directly setting an ist's .ptr
7815 - CI: travis: revert to clang-7 for BoringSSL tests
7816 - BUILD: on ARM, must be linked to libatomic.
7817 - BUILD: makefile: fix regex syntax in ARM platform detection
7818 - BUG/MEDIUM: peers: resync ended with RESYNC_PARTIAL in wrong cases.
7819 - REORG: ssl: move ssl_sock_load_cert()
7820 - MINOR: ssl: pass ckch_inst to ssl_sock_load_ckchs()
7821 - MEDIUM: ssl: allow crt-list caching
7822 - MINOR: ssl: directories are loaded like crt-list
7823 - BUG/MINOR: ssl: can't open directories anymore
7824 - BUG/MEDIUM: spoe: dup agent's engine_id string from trash.area
7825 - MINOR: fd: Use a separate lock for logs instead of abusing the fd lock.
7826 - MINOR: mux_pt: Don't try to remove the connection from the idle list.
7827 - MINOR: ssl/cli: show/dump ssl crt-list
7828 - BUG/MINOR: ssl/cli: free the trash chunk in dump_crtlist
7829 - MEDIUM: fd: Introduce a running mask, and use it instead of the spinlock.
7830 - BUG/MINOR: ssl: memory leak in crtlist_parse_file()
7831 - MINOR: tasks: Provide the tasklet to the callback.
7832 - BUG/MINOR: ssl: memleak of struct crtlist_entry
7833 - BUG/MINOR: pattern: Do not pass len = 0 to calloc()
7834 - BUILD: makefile: fix expression again to detect ARM platform
7835 - CI: travis: re-enable ASAN on clang
7836 - CI: travis: proper group output redirection together with travis_wait
7837 - DOC: assorted typo fixes in the documentation
7838 - MINOR: wdt: Move the definitions of WDTSIG and DEBUGSIG into types/signal.h.
7839 - BUG/MEDIUM: wdt: Don't ignore WDTSIG and DEBUGSIG in __signal_process_queue().
7840 - MINOR: memory: Change the flush_lock to a spinlock, and don't get it in alloc.
7841 - MINOR: ssl/cli: 'new ssl cert' command
7842 - MINOR: ssl/cli: show certificate status in 'show ssl cert'
7843 - MEDIUM: sessions: Don't be responsible for connections anymore.
7844 - MEDIUM: servers: Split the connections into idle, safe, and available.
7845 - MINOR: fd: Implement fd_takeover().
7846 - MINOR: connections: Add a new mux method, "takeover".
7847 - MINOR: connections: Make the "list" element a struct mt_list instead of list.
7848 - MINOR: connections: Add a flag to know if we're in the safe or idle list.
7849 - MEDIUM: connections: Attempt to get idle connections from other threads.
7850 - MEDIUM: mux_h1: Implement the takeover() method.
7851 - MEDIUM: mux_h2: Implement the takeover() method.
7852 - MEDIUM: mux_fcgi: Implement the takeover() method.
7853 - MEDIUM: connections: Kill connections even if we are reusing one.
7854 - BUG/MEDIUM: connections: Don't forget to decrement idle connection counters.
7855 - BUG/MINOR: ssl: Do not free garbage pointers on memory allocation failure
7856 - BUG/MINOR: ssl: Correctly add the 1 for the sentinel to the number of elements
7857 - BUG/MINOR: ssl: crtlist_dup_filters() must return NULL with fcount == 0
7858 - BUG/MEDIUM: build: Fix compilation by spelling decl correctly.
7859 - BUILD/MEDIUM: fd: Declare fd_mig_lock as extern.
7860 - CI: run travis-ci builds on push only, skip pull requests
7861 - CI: temporarily disable unstable travis arm64 builds
7862 - BUG/MINOR: ssl/cli: free BIO upon error in 'show ssl cert'
7863 - BUG/MINOR: connections: Make sure we free the connection on failure.
7864 - BUG/MINOR: ssl/cli: fix a potential NULL dereference
7865 - BUG/MEDIUM: h1: Make sure we subscribe before going into idle list.
7866 - BUG/MINOR: connections: Set idle_time before adding to idle list.
7867 - MINOR: muxes: Note that we can't usee a connection when added to the srv idle.
7868 - REGTEST: increase timeouts on the seamless-reload test
7869 - BUG/MINOR: haproxy/threads: close a possible race in soft-stop detection
7870 - CLEANUP: haproxy/threads: don't check global_tasks_mask twice
7871
7872 2020/03/09 : 2.2-dev4
7873 - MEDIUM: buffer: remove the buffer_wq lock
7874 - MINOR: ssl: move find certificate chain code to its own function
7875 - MINOR: ssl: resolve issuers chain later
7876 - MINOR: ssl: resolve ocsp_issuer later
7877 - MINOR: ssl/cli: "show ssl cert" command should print the "Chain Filename:"
7878 - BUG/MINOR: h2: reject again empty :path pseudo-headers
7879 - MINOR: wdt: always clear sigev_value to make valgrind happy
7880 - MINOR: epoll: always initialize all of epoll_event to please valgrind
7881 - BUG/MINOR: sample: Make sure to return stable IDs in the unique-id fetch
7882 - BUG/MEDIUM: ssl: chain must be initialized with sk_X509_new_null()
7883 - BUILD: cirrus-ci: suppress OS version check when installing packages
7884 - BUG/MINOR: http_ana: make sure redirect flags don't have overlapping bits
7885 - CLEANUP: fd: remove the FD_EV_STATUS aggregate
7886 - CLEANUP: fd: remove some unneeded definitions of FD_EV_* flags
7887 - MINOR: fd: merge the read and write error bits into RW error
7888 - BUG/MINOR: dns: ignore trailing dot
7889 - MINOR: contrib/prometheus-exporter: Add the last heathcheck duration metric
7890 - BUG/MINOR: http-htx: Do case-insensive comparisons on Host header name
7891 - MINOR: mux-h1: Remove useless case-insensitive comparisons
7892 - MINOR: rawsock: always mark the FD not ready when we're certain it happens
7893 - MEDIUM: connection: make the subscribe() call able to wakeup if ready
7894 - MEDIUM: connection: don't stop receiving events in the FD handler
7895 - MEDIUM: mux-h1: do not blindly wake up the tasklet at end of request anymore
7896 - BUG/MINOR: arg: don't reject missing optional args
7897 - MINOR: tools: make sure to correctly check the returned 'ms' in date2std_log
7898 - MINOR: debug: report the task handler's pointer relative to main
7899 - BUG/MEDIUM: debug: make the debug_handler check for the thread in threads_to_dump
7900 - MINOR: haproxy: export main to ease access from debugger
7901 - MINOR: haproxy: export run_poll_loop
7902 - MINOR: task: export run_tasks_from_list
7903 - BUILD: tools: remove obsolete and conflicting trace() from standard.c
7904 - MINOR: tools: add new function dump_addr_and_bytes()
7905 - MINOR: tools: add resolve_sym_name() to resolve function pointers
7906 - MINOR: debug: use resolve_sym_name() to dump task handlers
7907 - MINOR: cli: make "show fd" rely on resolve_sym_name()
7908 - MEDIUM: debug: add support for dumping backtraces of stuck threads
7909 - MINOR: debug: call backtrace() once upon startup
7910 - MINOR: ssl: add "ca-verify-file" directive
7911 - BUG/MINOR: wdt: do not return an error when the watchdog couldn't be enabled
7912 - BUILD: Makefile: include librt before libpthread
7913 - MEDIUM: wdt: fall back to CLOCK_REALTIME if CLOCK_THREAD_CPUTIME is not available
7914 - MINOR: wdt: do not depend on USE_THREAD
7915 - MINOR: debug: report the number of entries in the backtrace
7916 - MINOR: debug: improve backtrace() on aarch64 and possibly other systems
7917 - MINOR: debug: use our own backtrace function on clang+x86_64
7918 - MINOR: debug: dump the whole trace if we can't spot the starting point
7919 - BUILD: tools: unbreak resolve_sym_name() on non-GNU platforms
7920 - BUILD: tools: rely on __ELF__ not USE_DL to enable use of dladdr()
7921 - CLEANUP: contrib/spoa_example: Fix several typos
7922 - BUILD: makefile: do not modify the build options during make reg-tests
7923 - BUG/MEDIUM: connection: stop polling for sending when the event is ready
7924 - MEDIUM: stream-int: make sure to try to immediately validate the connection
7925 - MINOR: tcp/uxst/sockpair: only ask for I/O when really waiting for a connect()
7926 - MEDIUM: connection: only call ->wake() for connect() without I/O
7927 - OPTIM: connection: disable receiving on disabled events when the run queue is too high
7928 - OPTIM: mux-h1: subscribe rather than waking up at a few other places
7929 - REGTEST: Add unique-id reg-test
7930 - MINOR: stream: Add stream_generate_unique_id function
7931 - MINOR: stream: Use stream_generate_unique_id
7932 - BUG/MINOR: connection/debug: do not enforce !event_type on subscribe() anymore
7933 - MINOR: ssl/cli: support crt-list filters
7934 - MINOR: ssl: reach a ckch_store from a sni_ctx
7935 - DOC: fix incorrect indentation of http_auth_*
7936 - BUG/MINOR: ssl-sock: do not return an uninitialized pointer in ckch_inst_sni_ctx_to_sni_filters
7937 - MINOR: debug: add CLI command "debug dev write" to write an arbitrary size
7938 - MINOR: ist: Add `IST_NULL` macro
7939 - MINOR: ist: Add `int isttest(const struct ist)`
7940 - MINOR: ist: Add `struct ist istalloc(size_t)` and `void istfree(struct ist*)`
7941 - CLEANUP: Use `isttest()` and `istfree()`
7942 - MINOR: ist: Add `struct ist istdup(const struct ist)`
7943 - MINOR: proxy: Make `header_unique_id` a `struct ist`
7944 - MEDIUM: stream: Make the `unique_id` member of `struct stream` a `struct ist`
7945 - OPTIM: startup: fast unique_id allocation for acl.
7946 - DOC: configuration.txt: fix various typos
7947 - DOC: assorted typo fixes in the documentation and Makefile
7948 - BUG/MINOR: init: make the automatic maxconn consider the max of soft/hard limits
7949 - BUG/MAJOR: proxy_protocol: Properly validate TLV lengths
7950 - CLEANUP: proxy_protocol: Use `size_t` when parsing TLVs
7951 - MINOR: buf: Add function to insert a string at an absolute offset in a buffer
7952 - MINOR: htx: Add a function to return a block at a specific offset
7953 - MINOR: htx: Use htx_find_offset() to truncate an HTX message
7954 - MINOR: flt_trace: Use htx_find_offset() to get the available payload length
7955 - BUG/MINOR: filters: Use filter offset to decude the amount of forwarded data
7956 - BUG/MINOR: filters: Forward everything if no data filters are called
7957 - BUG/MEDIUM: cache/filters: Fix loop on HTX blocks caching the response payload
7958 - BUG/MEDIUM: compression/filters: Fix loop on HTX blocks compressing the payload
7959 - BUG/MINOR: http-ana: Reset request analysers on a response side error
7960 - BUG/MINOR: lua: Abort when txn:done() is called from a Lua action
7961 - BUG/MINOR: lua: Ignore the reserve to know if a channel is full or not
7962 - MINOR: lua: Add function to know if a channel is a response one
7963 - MINOR: lua: Stop using the lua txn in hlua_http_get_headers()
7964 - MINOR: lua: Stop using the lua txn in hlua_http_rep_hdr()
7965 - MINOR: lua: Stop using lua txn in hlua_http_del_hdr() and hlua_http_add_hdr()
7966 - MINOR: lua: Remove the flag HLUA_TXN_HTTP_RDY
7967 - MINOR: lua: Rename hlua_action_wake_time() to hlua_set_wake_time()
7968 - BUG/MINOR: lua: Init the lua wake_time value before calling a lua function
7969 - BUG/MINOR: http-rules: Return ACT_RET_ABRT to abort a transaction
7970 - BUG/MINOR: http-rules: Preserve FLT_END analyzers on reject action
7971 - BUG/MINOR: http-rules: Fix a typo in the reject action function
7972 - MINOR: cache/filters: Initialize the cache filter when stream is created
7973 - MINOR: compression/filters: Initialize the comp filter when stream is created
7974 - BUG/MINOR: rules: Preserve FLT_END analyzers on silent-drop action
7975 - BUG/MINOR: rules: Return ACT_RET_ABRT when a silent-drop action is executed
7976 - BUG/MINOR: rules: Increment be_counters if backend is assigned for a silent-drop
7977 - BUG/MINOR: http-rules: Abort transaction when a redirect is applied on response
7978 - BUILD: buffer: types/{ring.h,checks.h} should include buf.h, not buffer.h
7979 - BUILD: ssl: include mini-clist.h
7980 - BUILD: global: must not include common/standard.h but only types/freq_ctr.h
7981 - BUILD: freq_ctr: proto/freq_ctr needs to include common/standard.h
7982 - BUILD: listener: types/listener.h must not include standard.h
7983 - BUG/MEDIUM: random: initialize the random pool a bit better
7984 - BUG/MEDIUM: random: implement per-thread and per-process random sequences
7985 - Revert "BUG/MEDIUM: random: implement per-thread and per-process random sequences"
7986 - BUILD: cirrus-ci: get rid of unstable freebsd images
7987 - MINOR: tools: add 64-bit rotate operators
7988 - BUG/MEDIUM: random: implement a thread-safe and process-safe PRNG
7989 - MINOR: backend: use a single call to ha_random32() for the random LB algo
7990 - BUG/MINOR: checks/threads: use ha_random() and not rand()
7991 - MINOR: sample: make all bits random on the rand() sample fetch
7992 - MINOR: tools: add a generic function to generate UUIDs
7993 - DOC: fix typo about no-tls-tickets
7994 - DOC: improve description of no-tls-tickets
7995 - DOC: assorted typo fixes in the documentation
7996 - CLEANUP: remove unused code in 'my_ffsl/my_flsl' functions
7997
7998 2020/02/25 : 2.2-dev3
7999 - SCRIPTS: announce-release: place the send command in the mail's header
8000 - SCRIPTS: announce-release: allow the user to force to overwrite old files
8001 - SCRIPTS: backport: fix the master branch detection
8002 - BUG/MINOR: http-act: Set stream error flag before returning an error
8003 - BUG/MINOR: http-act: Fix bugs on error path during parsing of return actions
8004 - BUG/MEDIUM: ssl/cli: 'commit ssl cert' wrong SSL_CTX init
8005 - BUG/MEDIUM: tcp-rules: Fix track-sc* actions for L4/L5 TCP rules
8006 - DOC: schematic of the SSL certificates architecture
8007 - BUG/MAJOR: mux-h2: don't wake streams after connection was destroyed
8008 - BUG/MINOR: unix: better catch situations where the unix socket path length is close to the limit
8009 - BUILD: cirrus-ci: switch to "snap" images to unify openssl naming
8010 - BUILD: cirrus-ci: workaround "pkg install" bug
8011 - BUILD: cirrus-ci: add ERR=1 to freebsd builds
8012 - BUG/MINOR: connection: correctly retry I/O on signals
8013 - CLEANUP: mini-clist: simplify nested do { while(1) {} } while (0)
8014 - BUILD: http_act: cast file sizes when reporting file size error
8015 - BUG/MEDIUM: listener: only consider running threads when resuming listeners
8016 - BUG/MINOR: listener: enforce all_threads_mask on bind_thread on init
8017 - BUG/MINOR: tcp: avoid closing fd when socket failed in tcp_bind_listener
8018 - MINOR: build: add aix72-gcc build TARGET and power{8,9} CPUs
8019 - BUILD: travis-ci: no more allowed failures for openssl-1.0.2
8020 - BUILD: travis-ci: harden builds, add ERR=1 (warning ought to be errors)
8021 - BUILD: scripts/build-ssl.sh: use "uname" instead of ${TRAVIS_OS_NAME}
8022 - BUG/MINOR: tcp: don't try to set defaultmss when value is negative
8023 - SCRIPTS: make announce-release executable again
8024 - BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat
8025 - BUG/MEDIUM: muxes: Use the right argument when calling the destroy method.
8026 - BUG/MINOR: mux-fcgi: Forbid special characters when matching PATH_INFO param
8027 - CLEANUP: ssl: remove unused functions in openssl-compat.h
8028 - MINOR: mux-fcgi: Make the capture of the path-info optional in pathinfo regex
8029 - MINOR: tools: add is_idchar() to tell if a char may belong to an identifier
8030 - MINOR: chunk: implement chunk_strncpy() to copy partial strings
8031 - MINOR: sample/acl: use is_idchar() to locate the fetch/conv name
8032 - MEDIUM: arg: make make_arg_list() stop after its own arguments
8033 - MEDIUM: arg: copy parsed arguments into the trash instead of allocating them
8034 - MEDIUM: arg: make make_arg_list() support quotes in arguments
8035 - MINOR: sample: make sample_parse_expr() able to return an end pointer
8036 - MEDIUM: log-format: make the LF parser aware of sample expressions' end
8037 - BUG/MINOR: arg: report an error if an argument is larger than bufsize
8038 - SCRIPTS: announce-release: use mutt -H instead of -i to include the draft
8039 - BUILD: enable ERR=1 in github cygwin builds
8040 - BUG/MINOR: arg: fix again incorrect argument length check
8041 - MINOR: sample: regsub now supports backreferences
8042 - BUG/MINOR: tools: also accept '+' as a valid character in an identifier
8043 - MINOR: http-htx: Add a function to retrieve the headers size of an HTX message
8044 - MINOR: filters: Forward data only if the last filter forwards something
8045 - BUG/MINOR: filters: Count HTTP headers as filtered data but don't forward them
8046 - BUG/MINOR: http-htx: Don't return error if authority is updated without changes
8047 - BUG/MINOR: stream: Don't incr frontend cum_req counter when stream is closed
8048 - BUG/MINOR: sample: exit regsub() in case of trash allocation error
8049 - MINOR: ssl: add "issuers-chain-path" directive.
8050 - REGTESTS: use "command -v" instead of "which"
8051 - BUG/MINOR: http-ana: Matching on monitor-uri should be case-sensitive
8052 - MINOR: http-ana: Match on the path if the monitor-uri starts by a /
8053 - BUG/MINOR: ssl: Stop passing dynamic strings as format arguments
8054 - BUG/MAJOR: http-ana: Always abort the request when a tarpit is triggered
8055 - BUG/MINOR: mux: do not call conn_xprt_stop_recv() on buffer shortage
8056 - MINOR: checks: do not call conn_xprt_stop_send() anymore
8057 - CLEANUP: epoll: place the struct epoll_event in the stack
8058 - MEDIUM: connection: remove the intermediary polling state from the connection
8059 - MINOR: raw_sock: directly call fd_stop_send() and not conn_xprt_stop_send()
8060 - MINOR: tcp/uxst/sockpair: use fd_want_send() instead of conn_xprt_want_send()
8061 - MINOR: connection: remove the last calls to conn_xprt_{want,stop}_*
8062 - CLEANUP: connection: remove the definitions of conn_xprt_{stop,want}_{send,recv}
8063 - MINOR: connection: introduce a new receive flag: CO_RFL_READ_ONCE
8064 - MINOR: mux-h1: pass CO_RFL_READ_ONCE to the lower layers when relevant
8065 - MINOR: ist: add an iststop() function
8066 - BUG/MINOR: http: http-request replace-path duplicates the query string
8067 - CLEANUP: sample: use iststop instead of a for loop
8068 - BUG/MEDIUM: shctx: make sure to keep all blocks aligned
8069 - MINOR: compiler: move CPU capabilities definition from config.h and complete them
8070 - BUG/MEDIUM: ebtree: don't set attribute packed without unaligned access support
8071 - CLEANUP: http/h1: rely on HA_UNALIGNED_LE instead of checking for CPU families
8072 - BUILD: fix recent build failure on unaligned archs
8073 - MINOR: ssl: load the key from a dedicated file
8074 - BUG/MINOR: ssl: load .key in a directory only after PEM
8075 - MINOR: compiler: drop special cases of likely/unlikely for older compilers
8076 - CLEANUP: conn: Do not pass a pointer to likely
8077 - CLEANUP: net_helper: Do not negate the result of unlikely
8078 - BUILD: remove obsolete support for -mregparm / USE_REGPARM
8079 - CLEANUP: cfgparse: Fix type of second calloc() parameter
8080 - BUILD: ssl: only pass unsigned chars to isspace()
8081 - BUILD: general: always pass unsigned chars to is* functions
8082 - BUG/MINOR: sample: fix the json converter's endian-sensitivity
8083 - BUG/MEDIUM: ssl: fix several bad pointer aliases in a few sample fetch functions
8084 - CLEANUP: fd: use a union in fd_rm_from_fd_list() to shut aliasing warnings
8085 - CLEANUP: cache: use read_u32/write_u32 to access the cache entry's hash
8086 - CLEANUP: stick-tables: use read_u32() to display a node's key
8087 - CLEANUP: sample: use read_u64() in ipmask() to apply an IPv6 mask
8088 - MINOR: pattern: fix all remaining strict aliasing issues
8089 - CLEANUP: lua: fix aliasing issues in the address matching code
8090 - CLEANUP: connection: use read_u32() instead of a cast in the netscaler parser
8091 - BUILD: makefile: re-enable strict aliasing
8092 - BUG/MINOR: connection: make sure to correctly tag local PROXY connections
8093 - MINOR: compiler: add new alignment macros
8094 - BUILD: ebtree: improve architecture-specific alignment
8095 - MINOR: config: mark global.debug as deprecated
8096 - BUILD: travis-ci: enable s390x builds
8097 - MINOR: ssl/cli: 'show ssl cert' displays the chain
8098 - MINOR: ssl/cli: 'show ssl cert'displays the issuer in the chain
8099 - MINOR: ssl/cli: reorder 'show ssl cert' output
8100 - CLEANUP: ssl: move issuer_chain tree and definition
8101 - DOC: proxy-protocol: clarify IPv6 address representation in the spec
8102
8103 2020/02/07 : 2.2-dev2
8104 - BUILD: CI: temporarily mark openssl-1.0.2 as allowed failure
8105 - MEDIUM: cli: Allow multiple filter entries for "show table"
8106 - BUG/MEDIUM: netscaler: Don't forget to allocate storage for conn->src/dst.
8107 - BUG/MINOR: ssl: ssl_sock_load_pem_into_ckch is not consistent
8108 - BUILD: stick-table: fix build errors introduced by last stick-table change
8109 - BUG/MINOR: cli: Missing arg offset for filter data values.
8110 - MEDIUM: streams: Always create a conn_stream in connect_server().
8111 - MEDIUM: connections: Get ride of the xprt_done callback.
8112 - CLEANUP: changelog: remove the duplicate entry for 2.2-dev1
8113 - BUILD: CI: move cygwin builds to Github Actions
8114 - MINOR: cli: Report location of errors or any extra data for "show table"
8115 - BUG/MINOR: ssl/cli: free the previous ckch content once a PEM is loaded
8116 - CLEANUP: backend: remove useless test for inexistent connection
8117 - CLEANUP: backend: shut another false null-deref in back_handle_st_con()
8118 - CLEANUP: stats: shut up a wrong null-deref warning from gcc 9.2
8119 - BUG/MINOR: ssl: increment issuer refcount if in chain
8120 - BUG/MINOR: ssl: memory leak w/ the ocsp_issuer
8121 - BUG/MINOR: ssl: typo in previous patch
8122 - BUG/MEDIUM: connections: Set CO_FL_CONNECTED in conn_complete_session().
8123 - BUG/MINOR: ssl/cli: ocsp_issuer must be set w/ "set ssl cert"
8124 - MEDIUM: connection: remove CO_FL_CONNECTED and only rely on CO_FL_WAIT_*
8125 - BUG/MEDIUM: 0rtt: Only consider the SSL handshake.
8126 - MINOR: stream-int: always report received shutdowns
8127 - MINOR: connection: remove CO_FL_SSL_WAIT_HS from CO_FL_HANDSHAKE
8128 - MEDIUM: connection: use CO_FL_WAIT_XPRT more consistently than L4/L6/HANDSHAKE
8129 - MINOR: connection: remove checks for CO_FL_HANDSHAKE before I/O
8130 - MINOR: connection: do not check for CO_FL_SOCK_RD_SH too early
8131 - MINOR: connection: don't check for CO_FL_SOCK_WR_SH too early in handshakes
8132 - MINOR: raw-sock: always check for CO_FL_SOCK_WR_SH before sending
8133 - MINOR: connection: remove some unneeded checks for CO_FL_SOCK_WR_SH
8134 - BUG/MINOR: stktable: report the current proxy name in error messages
8135 - BUG/MEDIUM: mux-h2: make sure we don't emit TE headers with anything but "trailers"
8136 - MINOR: lua: Add hlua_prepend_path function
8137 - MINOR: lua: Add lua-prepend-path configuration option
8138 - MINOR: lua: Add HLUA_PREPEND_C?PATH build option
8139 - BUILD: cfgparse: silence a bogus gcc warning on 32-bit machines
8140 - BUG/MINOR: http-ana: Increment the backend counters on the backend
8141 - BUG/MINOR: stream: Be sure to have a listener to increment its counters
8142 - BUG/MEDIUM: streams: Move the conn_stream allocation outside #IF USE_OPENSSL.
8143 - REGTESTS: make the set_ssl_cert test require version 2.2
8144 - BUG/MINOR: ssl: Possible memleak when allowing the 0RTT data buffer.
8145 - MINOR: ssl: Remove dead code.
8146 - BUG/MEDIUM: ssl: Don't forget to free ctx->ssl on failure.
8147 - BUG/MEDIUM: stream: Don't install the mux in back_handle_st_con().
8148 - MEDIUM: streams: Don't close the connection in back_handle_st_con().
8149 - MEDIUM: streams: Don't close the connection in back_handle_st_rdy().
8150 - BUILD: CI: disable slow regtests on Travis
8151 - BUG/MINOR: tcpchecks: fix the connect() flags regarding delayed ack
8152 - BUG/MINOR: http-rules: Always init log-format expr for common HTTP actions
8153 - BUG/MINOR: connection: fix ip6 dst_port copy in make_proxy_line_v2
8154 - BUG/MINOR: dns: allow 63 char in hostname
8155 - MINOR: proxy: clarify number of connections log when stopping
8156 - DOC: word converter ignores delimiters at the start or end of input string
8157 - MEDIUM: raw-sock: remove obsolete calls to fd_{cant,cond,done}_{send,recv}
8158 - BUG/MINOR: ssl/cli: fix unused variable with openssl < 1.0.2
8159 - MEDIUM: pipe/thread: reduce the locking overhead
8160 - MEDIUM: pipe/thread: maintain a per-thread local cache of recently used pipes
8161 - BUG/MEDIUM: pipe/thread: fix atomicity of pipe counters
8162 - MINOR: tasks: move the list walking code to its own function
8163 - MEDIUM: tasks: implement 3 different tasklet classes with their own queues
8164 - MEDIUM: tasks: automatically requeue into the bulk queue an already running tasklet
8165 - OPTIM: task: refine task classes default CPU bandwidth ratios
8166 - BUG/MEDIUM: connections: Don't forget to unlock when killing a connection.
8167 - MINOR: task: permanently flag tasklets waking themselves up
8168 - MINOR: task: make sched->current also reflect tasklets
8169 - MINOR: task: detect self-wakeups on tl==sched->current instead of TASK_RUNNING
8170 - OPTIM: task: readjust CPU bandwidth distribution since last update
8171 - MINOR: task: don't set TASK_RUNNING on tasklets
8172 - BUG/MEDIUM: memory_pool: Update the seq number in pool_flush().
8173 - MINOR: memory: Only init the pool spinlock once.
8174 - BUG/MEDIUM: memory: Add a rwlock before freeing memory.
8175 - BUG/MAJOR: memory: Don't forget to unlock the rwlock if the pool is empty.
8176 - MINOR: ssl: ssl-load-extra-files configure loading of files
8177 - SCRIPTS: add a new "backport" script to simplify long series of backports
8178 - BUG/MINOR: ssl: we may only ignore the first 64 errors
8179 - SCRIPTS: use /usr/bin/env bash instead of /bin/bash for scripts
8180 - BUG/MINOR: ssl: clear the SSL errors on DH loading failure
8181 - CLEANUP: hpack: remove a redundant test in the decoder
8182 - CLEANUP: peers: Remove unused static function `free_dcache`
8183 - CLEANUP: peers: Remove unused static function `free_dcache_tx`
8184 - CONTRIB: debug: add missing flags SF_HTX and SF_MUX
8185 - CONTRIB: debug: add the possibility to decode the value as certain types only
8186 - CONTRIB: debug: support reporting multiple values at once
8187 - BUG/MINOR: http-act: Use the good message to test strict rewritting mode
8188 - MINOR: global: Set default tune.maxrewrite value during global structure init
8189 - MINOR: http-rules: Set SF_ERR_PRXCOND termination flag when a header rewrite fails
8190 - MINOR: http-htx: Emit a warning if an error file runs over the buffer's reserve
8191 - MINOR: htx: Add a function to append an HTX message to another one
8192 - MINOR: htx/channel: Add a function to copy an HTX message in a channel's buffer
8193 - BUG/MINOR: http-ana: Don't overwrite outgoing data when an error is reported
8194 - MINOR: dns: Dynamically allocate dns options to reduce the act_rule size
8195 - MINOR: dns: Add function to release memory allocated for a do-resolve rule
8196 - BUG/MINOR: http-ana: Reset HTX first index when HAPRoxy sends a response
8197 - BUG/MINOR: http-ana: Set HTX_FL_PROXY_RESP flag if a server perform a redirect
8198 - MINOR: http-rules: Add a flag on redirect rules to know the rule direction
8199 - MINOR: http-rules: Handle the rule direction when a redirect is evaluated
8200 - MINOR: http-ana: Rely on http_reply_and_close() to handle server error
8201 - MINOR: http-ana: Add a function for forward internal responses
8202 - MINOR: http-ana/http-rules: Use dedicated function to forward internal responses
8203 - MEDIUM: http: Add a ruleset evaluated on all responses just before forwarding
8204 - MEDIUM: http-rules: Add the return action to HTTP rules
8205 - MEDIUM: http-rules: Support extra headers for HTTP return actions
8206 - CLEANUP: lua: Remove consistency check for sample fetches and actions
8207 - BUG/MINOR: http-ana: Increment failed_resp counters on invalid response
8208 - MINOR: lua: Get the action return code on the stack when an action finishes
8209 - MINOR: lua: Create the global 'act' object to register all action return codes
8210 - MINOR: lua: Add act:wake_time() function to set a timeout when an action yields
8211 - MEDIUM: lua: Add ability for actions to intercept HTTP messages
8212 - REGTESTS: Add reg tests for the HTTP return action
8213 - REGTESTS: Add a reg test for http-after-response rulesets
8214 - BUILD: lua: silence a warning on systems where longjmp is not marked as noreturn
8215 - MINOR: acl: Warn when an ACL is named 'or'
8216 - CONTRIB: debug: also support reading values from stdin
8217 - SCRIPTS: backport: use short revs and resolve the initial commit
8218 - BUG/MINOR: acl: Fix type of log message when an acl is named 'or'
8219
8220 2020/01/22 : 2.2-dev1
8221 - DOC: this is development again
8222 - MINOR: version: this is development again, update the status
8223 - SCRIPTS: update create-release to fix the changelog on new branches
8224 - CLEANUP: ssl: Clean up error handling
8225 - BUG/MINOR: contrib/prometheus-exporter: decode parameter and value only
8226 - BUG/MINOR: h1: Don't test the host header during response parsing
8227 - BUILD/MINOR: trace: fix use of long type in a few printf format strings
8228 - DOC: Clarify behavior of server maxconn in HTTP mode
8229 - MINOR: ssl: deduplicate ca-file
8230 - MINOR: ssl: compute ca-list from deduplicate ca-file
8231 - MINOR: ssl: deduplicate crl-file
8232 - CLEANUP: dns: resolution can never be null
8233 - BUG/MINOR: http-htx: Don't make http_find_header() fail if the value is empty
8234 - DOC: ssl/cli: set/commit/abort ssl cert
8235 - BUG/MINOR: ssl: fix SSL_CTX_set1_chain compatibility for openssl < 1.0.2
8236 - BUG/MINOR: fcgi-app: Make the directive pass-header case insensitive
8237 - BUG/MINOR: stats: Fix HTML output for the frontends heading
8238 - BUG/MINOR: ssl: fix X509 compatibility for openssl < 1.1.0
8239 - DOC: clarify matching strings on binary fetches
8240 - DOC: Fix ordered list in summary
8241 - DOC: move the "group" keyword at the right place
8242 - MEDIUM: init: prevent process and thread creation at runtime
8243 - BUG/MINOR: ssl/cli: 'ssl cert' cmd only usable w/ admin rights
8244 - BUG/MEDIUM: stream-int: don't subscribed for recv when we're trying to flush data
8245 - BUG/MINOR: stream-int: avoid calling rcv_buf() when splicing is still possible
8246 - BUG/MINOR: ssl/cli: don't overwrite the filters variable
8247 - BUG/MEDIUM: listener/thread: fix a race when pausing a listener
8248 - BUG/MINOR: ssl: certificate choice can be unexpected with openssl >= 1.1.1
8249 - BUG/MEDIUM: mux-h1: Never reuse H1 connection if a shutw is pending
8250 - BUG/MINOR: mux-h1: Don't rely on CO_FL_SOCK_RD_SH to set H1C_F_CS_SHUTDOWN
8251 - BUG/MINOR: mux-h1: Fix conditions to know whether or not we may receive data
8252 - BUG/MEDIUM: tasks: Make sure we switch wait queues in task_set_affinity().
8253 - BUG/MEDIUM: checks: Make sure we set the task affinity just before connecting.
8254 - MINOR: debug: replace popen() with pipe+fork() in "debug dev exec"
8255 - MEDIUM: init: set NO_NEW_PRIVS by default when supported
8256 - BUG/MINOR: mux-h1: Be sure to set CS_FL_WANT_ROOM when EOM can't be added
8257 - BUG/MEDIUM: mux-fcgi: Handle cases where the HTX EOM block cannot be inserted
8258 - BUG/MINOR: proxy: make soft_stop() also close FDs in LI_PAUSED state
8259 - BUG/MINOR: listener/threads: always use atomic ops to clear the FD events
8260 - BUG/MINOR: listener: also clear the error flag on a paused listener
8261 - BUG/MEDIUM: listener/threads: fix a remaining race in the listener's accept()
8262 - MINOR: listener: make the wait paths cleaner and more reliable
8263 - MINOR: listener: split dequeue_all_listener() in two
8264 - REORG: listener: move the global listener queue code to listener.c
8265 - DOC: document the listener state transitions
8266 - BUG/MEDIUM: kqueue: Make sure we report read events even when no data.
8267 - BUG/MAJOR: dns: add minimalist error processing on the Rx path
8268 - BUG/MEDIUM: proto_udp/threads: recv() and send() must not be exclusive.
8269 - DOC: listeners: add a few missing transitions
8270 - BUG/MINOR: tasks: only requeue a task if it was already in the queue
8271 - MINOR: tasks: split wake_expired_tasks() in two parts to avoid useless wakeups
8272 - DOC: proxies: HAProxy only supports 3 connection modes
8273 - DOC: remove references to the outdated architecture.txt
8274 - BUG/MINOR: log: fix minor resource leaks on logformat error path
8275 - BUG/MINOR: mworker: properly pass SIGTTOU/SIGTTIN to workers
8276 - BUG/MINOR: listener: do not immediately resume on transient error
8277 - BUG/MINOR: server: make "agent-addr" work on default-server line
8278 - BUG/MINOR: listener: fix off-by-one in state name check
8279 - BUILD/MINOR: unix sockets: silence an absurd gcc warning about strncpy()
8280 - MEDIUM: h1-htx: Add HTX EOM block when the message is in H1_MSG_DONE state
8281 - MINOR: http-htx: Add some htx sample fetches for debugging purpose
8282 - REGTEST: Add an HTX reg-test to check an edge case
8283 - DOC: clarify the fact that replace-uri works on a full URI
8284 - BUG/MINOR: sample: fix the closing bracket and LF in the debug converter
8285 - BUG/MINOR: sample: always check converters' arguments
8286 - MINOR: sample: Validate the number of bits for the sha2 converter
8287 - BUG/MEDIUM: ssl: Don't set the max early data we can receive too early.
8288 - MINOR: ssl/cli: 'show ssl cert' give information on the certificates
8289 - BUG/MINOR: ssl/cli: fix build for openssl < 1.0.2
8290 - MINOR: debug: support logging to various sinks
8291 - MINOR: http: add a new "replace-path" action
8292 - REGTEST: ssl: test the "set ssl cert" CLI command
8293 - REGTEST: run-regtests: implement #REQUIRE_BINARIES
8294 - MINOR: task: only check TASK_WOKEN_ANY to decide to requeue a task
8295 - BUG/MAJOR: task: add a new TASK_SHARED_WQ flag to fix foreing requeuing
8296 - BUG/MEDIUM: ssl: Revamp the way early data are handled.
8297 - MINOR: fd/threads: make _GET_NEXT()/_GET_PREV() use the volatile attribute
8298 - BUG/MEDIUM: fd/threads: fix a concurrency issue between add and rm on the same fd
8299 - REGTEST: make the "set ssl cert" require version 2.1
8300 - BUG/MINOR: ssl: openssl-compat: Fix getm_ defines
8301 - BUG/MEDIUM: state-file: do not allocate a full buffer for each server entry
8302 - BUG/MINOR: state-file: do not store duplicates in the global tree
8303 - BUG/MINOR: state-file: do not leak memory on parse errors
8304 - BUG/MAJOR: mux-h1: Don't pretend the input channel's buffer is full if empty
8305 - BUG/MEDIUM: stream: Be sure to never assign a TCP backend to an HTX stream
8306 - BUILD: ssl: improve SSL_CTX_set_ecdh_auto compatibility
8307 - BUILD: travis-ci: link with ssl libraries using rpath instead of LD_LIBRARY_PATH/DYLD_LIBRARY_PATH
8308 - BUILD: travis-ci: reenable address sanitizer for clang builds
8309 - BUG/MINOR: checks: refine which errno values are really errors.
8310 - BUG/MINOR: connection: only wake send/recv callbacks if the FD is active
8311 - CLEANUP: connection: conn->xprt is never NULL
8312 - MINOR: pollers: add a new flag to indicate pollers reporting ERR & HUP
8313 - MEDIUM: tcp: make tcp_connect_probe() consider ERR/HUP
8314 - REORG: connection: move tcp_connect_probe() to conn_fd_check()
8315 - MINOR: connection: check for connection validation earlier
8316 - MINOR: connection: remove the double test on xprt_done_cb()
8317 - CLEANUP: connection: merge CO_FL_NOTIFY_DATA and CO_FL_NOTIFY_DONE
8318 - MINOR: poller: do not call the IO handler if the FD is not active
8319 - OPTIM: epoll: always poll for recv if neither active nor ready
8320 - OPTIM: polling: do not create update entries for FD removal
8321 - BUG/MEDIUM: checks: Only attempt to do handshakes if the connection is ready.
8322 - BUG/MEDIUM: connections: Hold the lock when wanting to kill a connection.
8323 - BUILD: CI: modernize cirrus-ci
8324 - MINOR: config: disable busy polling on old processes
8325 - MINOR: ssl: Remove unused variable "need_out".
8326 - BUG/MINOR: h1: Report the right error position when a header value is invalid
8327 - BUG/MINOR: proxy: Fix input data copy when an error is captured
8328 - BUG/MEDIUM: http-ana: Truncate the response when a redirect rule is applied
8329 - BUG/MINOR: channel: inject output data at the end of output
8330 - BUG/MEDIUM: session: do not report a failure when rejecting a session
8331 - MEDIUM: dns: implement synchronous send
8332 - MINOR: raw_sock: make sure to disable polling once everything is sent
8333 - MINOR: http: Add 410 to http-request deny
8334 - MINOR: http: Add 404 to http-request deny
8335 - CLEANUP: mux-h2: remove unused goto "out_free_h2s"
8336 - BUILD: cirrus-ci: choose proper openssl package name
8337 - BUG/MAJOR: listener: do not schedule a task-less proxy
8338 - CLEANUP: server: remove unused err section in server_finalize_init
8339 - REGTEST: set_ssl_cert.vtc: replace "echo" with "printf"
8340 - BUG/MINOR: stream-int: Don't trigger L7 retry if max retries is already reached
8341 - BUG/MEDIUM: tasks: Use the MT macros in tasklet_free().
8342 - BUG/MINOR: mux-h2: use a safe list_for_each_entry in h2_send()
8343 - BUG/MEDIUM: mux-h2: fix missing test on sending_list in previous patch
8344 - CLEANUP: ssl: remove opendir call in ssl_sock_load_cert
8345 - MEDIUM: lua: don't call the GC as often when dealing with outgoing connections
8346 - BUG/MEDIUM: mux-h2: don't stop sending when crossing a buffer boundary
8347 - BUG/MINOR: cli/mworker: can't start haproxy with 2 programs
8348 - REGTEST: mcli/mcli_start_progs: start 2 programs
8349 - BUG/MEDIUM: mworker: remain in mworker mode during reload
8350 - DOC: clarify crt-base usage
8351 - CLEANUP: compression: remove unused deinit_comp_ctx section
8352 - BUG/MEDIUM: mux_h1: Don't call h1_send if we subscribed().
8353 - BUG/MEDIUM: raw_sock: Make sur the fd and conn are sync.
8354 - CLEANUP: proxy: simplify proxy_parse_rate_limit proxy checks
8355 - BUG/MAJOR: hashes: fix the signedness of the hash inputs
8356 - REGTEST: add sample_fetches/hashes.vtc to validate hashes
8357 - BUG/MEDIUM: cli: _getsocks must send the peers sockets
8358 - CLEANUP: cli: deduplicate the code in _getsocks
8359 - BUG/MINOR: stream: don't mistake match rules for store-request rules
8360 - BUG/MEDIUM: connection: add a mux flag to indicate splice usability
8361 - BUG/MINOR: pattern: handle errors from fgets when trying to load patterns
8362 - MINOR: connection: move the CO_FL_WAIT_ROOM cleanup to the reader only
8363 - MINOR: stream-int: remove dependency on CO_FL_WAIT_ROOM for rcv_buf()
8364 - MEDIUM: connection: get rid of CO_FL_CURR_* flags
8365 - BUILD: pattern: include errno.h
8366 - MEDIUM: mux-h2: do not try to stop sending streams on blocked mux
8367 - MEDIUM: mux-fcgi: do not try to stop sending streams on blocked mux
8368 - MEDIUM: mux-h2: do not make an h2s subscribe to itself on deferred shut
8369 - MEDIUM: mux-fcgi: do not make an fstrm subscribe to itself on deferred shut
8370 - REORG: stream/backend: move backend-specific stuff to backend.c
8371 - MEDIUM: backend: move the connection finalization step to back_handle_st_con()
8372 - MEDIUM: connection: merge the send_wait and recv_wait entries
8373 - MEDIUM: xprt: merge recv_wait and send_wait in xprt_handshake
8374 - MEDIUM: ssl: merge recv_wait and send_wait in ssl_sock
8375 - MEDIUM: mux-h1: merge recv_wait and send_wait
8376 - MEDIUM: mux-h2: merge recv_wait and send_wait event notifications
8377 - MEDIUM: mux-fcgi: merge recv_wait and send_wait event notifications
8378 - MINOR: connection: make the last arg of subscribe() a struct wait_event*
8379 - MINOR: ssl: Add support for returning the dn samples from ssl_(c|f)_(i|s)_dn in LDAP v3 (RFC2253) format.
8380 - DOC: Fix copy and paste mistake in http-response replace-value doc
8381 - BUG/MINOR: cache: Fix leak of cache name in error path
8382 - BUG/MINOR: dns: Make dns_query_id_seed unsigned
8383 - BUG/MINOR: 51d: Fix bug when HTX is enabled
8384 - MINOR: http-htx: Move htx sample fetches in the scope "internal"
8385 - MINOR: http-htx: Rename 'internal.htx_blk.val' to 'internal.htx_blk.data'
8386 - MINOR: http-htx: Make 'internal.htx_blk_data' return a binary string
8387 - DOC: Add a section to document the internal sample fetches
8388 - MINOR: mux-h1: Inherit send flags from the upper layer
8389 - MINOR: contrib/prometheus-exporter: Add heathcheck status/code in server metrics
8390 - BUG/MINOR: http-ana/filters: Wait end of the http_end callback for all filters
8391 - BUG/MINOR: http-rules: Remove buggy deinit functions for HTTP rules
8392 - BUG/MINOR: stick-table: Use MAX_SESS_STKCTR as the max track ID during parsing
8393 - MEDIUM: http-rules: Register an action keyword for all http rules
8394 - MINOR: tcp-rules: Always set from which ruleset a rule comes from
8395 - MINOR: actions: Use ACT_RET_CONT code to ignore an error from a custom action
8396 - MINOR: tcp-rules: Kill connections when custom actions return ACT_RET_ERR
8397 - MINOR: http-rules: Return an error when custom actions return ACT_RET_ERR
8398 - MINOR: counters: Add a counter to report internal processing errors
8399 - MEDIUM: http-ana: Properly handle internal processing errors
8400 - MINOR: http-rules: Add a rule result to report internal error
8401 - MINOR: http-rules: Handle internal errors during HTTP rules evaluation
8402 - MINOR: http-rules: Add more return codes to let custom actions act as normal ones
8403 - MINOR: tcp-rules: Handle denied/aborted/invalid connections from TCP rules
8404 - MINOR: http-rules: Handle denied/aborted/invalid connections from HTTP rules
8405 - MINOR: stats: Report internal errors in the proxies/listeners/servers stats
8406 - MINOR: contrib/prometheus-exporter: Export internal errors per proxy/server
8407 - MINOR: counters: Remove failed_secu counter and use denied_resp instead
8408 - MINOR: counters: Review conditions to increment counters from analysers
8409 - MINOR: http-ana: Add a txn flag to support soft/strict message rewrites
8410 - MINOR: http-rules: Handle all message rewrites the same way
8411 - MINOR: http-rules: Add a rule to enable or disable the strict rewriting mode
8412 - MEDIUM: http-rules: Enable the strict rewriting mode by default
8413 - REGTEST: Fix format of set-uri HTTP request rule in h1or2_to_h1c.vtc
8414 - MINOR: actions: Add a function pointer to release args used by actions
8415 - MINOR: actions: Regroup some info about HTTP rules in the same struct
8416 - MINOR: http-rules/tcp-rules: Call the defined action function first if defined
8417 - MINOR: actions: Rename the act_flag enum into act_opt
8418 - MINOR: actions: Add flags to configure the action behaviour
8419 - MINOR: actions: Use an integer to set the action type
8420 - MINOR: http-rules: Use a specific action type for some custom HTTP actions
8421 - MINOR: http-rules: Make replace-header and replace-value custom actions
8422 - MINOR: http-rules: Make set-header and add-header custom actions
8423 - MINOR: http-rules: Make set/del-map and add/del-acl custom actions
8424 - MINOR: http-rules: Group all processing of early-hint rule in its case clause
8425 - MEDIUM: http-rules: Make early-hint custom actions
8426 - MINOR: http-rule/tcp-rules: Make track-sc* custom actions
8427 - MINOR: tcp-rules: Make tcp-request capture a custom action
8428 - MINOR: http-rules: Add release functions for existing HTTP actions
8429 - BUG/MINOR: http-rules: Fix memory releases on error path during action parsing
8430 - MINOR: tcp-rules: Add release functions for existing TCP actions
8431 - BUG/MINOR: tcp-rules: Fix memory releases on error path during action parsing
8432 - MINOR: http-htx: Add functions to read a raw error file and convert it in HTX
8433 - MINOR: http-htx: Add functions to create HTX redirect message
8434 - MINOR: config: Use dedicated function to parse proxy's errorfiles
8435 - MINOR: config: Use dedicated function to parse proxy's errorloc
8436 - MEDIUM: http-htx/proxy: Use a global and centralized storage for HTTP error messages
8437 - MINOR: proxy: Register keywords to parse errorfile and errorloc directives
8438 - MINOR: http-htx: Add a new section to create groups of custom HTTP errors
8439 - MEDIUM: proxy: Add a directive to reference an http-errors section in a proxy
8440 - MINOR: http-rules: Update txn flags and status when a deny rule is executed
8441 - MINOR: http-rules: Support an optional status on deny rules for http reponses
8442 - MINOR: http-rules: Use same function to parse request and response deny actions
8443 - MINOR: http-ana: Add an error message in the txn and send it when defined
8444 - MEDIUM: http-rules: Support an optional error message in http deny rules
8445 - REGTEST: Add a strict rewriting mode reg test
8446 - REGEST: Add reg tests about error files
8447 - MINOR: ssl: accept 'verify' bind option with 'set ssl cert'
8448 - BUG/MINOR: ssl: ssl_sock_load_ocsp_response_from_file memory leak
8449 - BUG/MINOR: ssl: ssl_sock_load_issuer_file_into_ckch memory leak
8450 - BUG/MINOR: ssl: ssl_sock_load_sctl_from_file memory leak
8451 - BUG/MINOR: http_htx: Fix some leaks on error path when error files are loaded
8452 - CLEANUP: http-ana: Remove useless test on txn when the error message is retrieved
8453 - BUILD: CI: introduce ARM64 builds
8454 - BUILD: ssl: more elegant anti-replay feature presence check
8455 - MINOR: proxy/http-ana: Add support of extra attributes for the cookie directive
8456 - MEDIUM: dns: use Additional records from SRV responses
8457 - CLEANUP: Consistently `unsigned int` for bitfields
8458 - CLEANUP: pattern: remove the pat_time definition
8459 - BUG/MINOR: http_act: don't check capture id in backend
8460 - BUG/MINOR: ssl: fix build on development versions of openssl-1.1.x
8461
8462 2019/11/25 : 2.2-dev0
8463 - exact copy of 2.1.0
8464
8465 2019/11/25 : 2.1.0
8466 - BUG/MINOR: init: fix set-dumpable when using uid/gid
8467 - MINOR: init: avoid code duplication while setting identify
8468 - BUG/MINOR: ssl: ssl_pkey_info_index ex_data can store a dereferenced pointer
8469 - BUG/MINOR: ssl: fix crt-list neg filter for openssl < 1.1.1
8470 - MINOR: peers: Alway show the table info for disconnected peers.
8471 - MINOR: peers: Add TX/RX heartbeat counters.
8472 - MINOR: peers: Add debugging information to "show peers".
8473 - BUG/MINOR: peers: Wrong null "server_name" data field handling.
8474 - MINOR: ssl/cli: 'abort ssl cert' deletes an on-going transaction
8475 - BUG/MEDIUM: mworker: don't fill the -sf argument with -1 during the reexec
8476 - BUG/MINOR: peers: "peer alive" flag not reset when deconnecting.
8477 - BUILD/MINOR: ssl: fix compiler warning about useless statement
8478 - BUG/MEDIUM: stream-int: Don't loose events on the CS when an EOS is reported
8479 - MINOR: contrib/prometheus-exporter: filter exported metrics by scope
8480 - MINOR: contrib/prometheus-exporter: Add a param to ignore servers in maintenance
8481 - BUILD: debug: Avoid warnings in dev mode with -02 because of some BUG_ON tests
8482 - BUG/MINOR: mux-h1: Fix tunnel mode detection on the response path
8483 - BUG/MINOR: http-ana: Properly catch aborts during the payload forwarding
8484 - DOC: Update http-buffer-request description to remove the part about chunks
8485 - BUG/MINOR: stream-int: Fix si_cs_recv() return value
8486 - DOC: internal: document the init calls
8487 - MEDIUM: dns: Add resolve-opts "ignore-weight"
8488 - MINOR: ssl: ssl_sock_prepare_ctx() return an error code
8489 - MEDIUM: ssl/cli: apply SSL configuration on SSL_CTX during commit
8490 - MINOR: ssl/cli: display warning during 'commit ssl cert'
8491 - MINOR: version: report the version status in "haproxy -v"
8492 - MINOR: version: emit the link to the known bugs in output of "haproxy -v"
8493 - DOC: Add documentation about the use-service action
8494 - MINOR: ssl: fix possible null dereference in error handling
8495 - BUG/MINOR: ssl: fix curve setup with LibreSSL
8496 - BUG/MINOR: ssl: Stop passing dynamic strings as format arguments
8497 - CLEANUP: ssl: check if a transaction exists once before setting it
8498 - BUG/MINOR: cli: fix out of bounds in -S parser
8499 - MINOR: ist: add ist_find_ctl()
8500 - BUG/MAJOR: h2: reject header values containing invalid chars
8501 - BUG/MAJOR: h2: make header field name filtering stronger
8502 - BUG/MAJOR: mux-h2: don't try to decode a response HEADERS frame in idle state
8503 - MINOR: h2: add a function to report H2 error codes as strings
8504 - MINOR: mux-h2/trace: report the connection and/or stream error code
8505 - SCRIPTS: create-release: show the correct origin name in suggested commands
8506 - SCRIPTS: git-show-backports: add "-s" to proposed cherry-pick commands
8507 - BUG/MEDIUM: trace: fix a typo causing an incorrect startup error
8508 - BUILD: reorder the objects in the makefile
8509 - DOC: mention in INSTALL haproxy 2.1 is a stable stable version
8510 - MINOR: version: indicate that this version is stable
8511
8512 2019/11/15 : 2.1-dev5
8513 - BUG/MEDIUM: ssl/cli: don't alloc path when cert not found
8514 - BUG/MINOR: ssl/cli: unable to update a certificate without bundle extension
8515 - BUG/MINOR: ssl/cli: fix an error when a file is not found
8516 - MINOR: ssl/cli: replace the default_ctx during 'commit ssl cert'
8517 - DOC: fix date and http_date keywords syntax
8518 - MINOR: peers: Add "log" directive to "peers" section.
8519 - BUG/MEDIUM: mux-h1: Disable splicing for chunked messages
8520 - BUG/MEDIUM: stream: Be sure to support splicing at the mux level to enable it
8521 - MINOR: flt_trace: Rename macros to print trace messages
8522 - MINOR: trace: Add a set of macros to trace events if HA is compiled with debug
8523 - MEDIUM: stream/trace: Register a new trace source with its events
8524 - MINOR: doc: http-reuse connection pool fix
8525 - BUG/MEDIUM: stream: Be sure to release allocated captures for TCP streams
8526 - MINOR: http-ana: Remove the unused function http_reset_txn()
8527 - BUG/MINOR: action: do-resolve now use cached response
8528 - BUG: dns: timeout resolve not applied for valid resolutions
8529 - DOC: management: fix typo on "cache_lookups" stats output
8530 - BUG/MINOR: stream: init variables when the list is empty
8531 - BUG/MEDIUM: tasks: Make tasklet_remove_from_tasklet_list() no matter the tasklet.
8532 - BUG/MINOR: queue/threads: make the queue unlinking atomic
8533 - BUG/MEDIUM: Make sure we leave the session list in session_free().
8534 - CLEANUP: session: slightly simplify idle connection cleanup logic
8535 - MINOR: memory: also poison the area on freeing
8536 - CLEANUP: cli: use srv_shutdown_streams() instead of open-coding it
8537 - CLEANUP: stats: use srv_shutdown_streams() instead of open-coding it
8538 - BUG/MEDIUM: listeners: always pause a listener on out-of-resource condition
8539 - BUILD: contrib/da: remove an "unused" warning
8540 - BUG/MEDIUM: filters: Don't call TCP callbacks for HTX streams
8541 - MEDIUM: filters: Adapt filters API to allow again TCP filtering on HTX streams
8542 - MINOR: freq_ctr: Make the sliding window sums thread-safe
8543 - MINOR: stream: Remove the lock on the proxy to update time stats
8544 - MINOR: counters: Add fields to store the max observed for {q,c,d,t}_time
8545 - MINOR: stats: Report max times in addition of the averages for sessions
8546 - MINOR: contrib/prometheus-exporter: Report metrics about max times for sessions
8547 - BUG/MINOR: contrib/prometheus-exporter: Rename some metrics
8548 - MINOR: contrib/prometheus-exporter: report the number of idle conns per server
8549 - DOC: Add missing stats fields in the management manual
8550 - BUG/MINOR: mux-h1: Properly catch parsing errors on payload and trailers
8551 - BUG/MINOR: mux-h1: Don't set CS_FL_EOS on a read0 when receiving data to pipe
8552 - MINOR: mux-h1: Set EOI on the conn-stream when EOS is reported in TUNNEL state
8553 - MINOR: sink: Set the default max length for a message to BUFSIZE
8554 - MINOR: ring: make the parse function automatically set the handler/release
8555 - BUG/MINOR: log: make "show startup-log" use a ring buffer instead
8556 - MINOR: stick-table: allow sc-set-gpt0 to set value from an expression
8557
8558 2019/11/03 : 2.1-dev4
8559 - BUG/MINOR: cli: don't call the kw->io_release if kw->parse failed
8560 - BUG/MINOR: mux-h2: Don't pretend mux buffers aren't full anymore if nothing sent
8561 - BUG/MAJOR: stream-int: Don't receive data from mux until SI_ST_EST is reached
8562 - DOC: remove obsolete section about header manipulation
8563 - BUG/MINOR: ssl/cli: cleanup on cli_parse_set_cert error
8564 - MINOR: ssl/cli: rework the 'set ssl cert' IO handler
8565 - BUILD: CI: comment out cygwin build, upgrade various ssl libraries
8566 - DOC: Improve documentation of http-re(quest|sponse) replace-(header|value|uri)
8567 - BUILD/MINOR: tools: shut up the format truncation warning in get_gmt_offset()
8568 - BUG/MINOR: spoe: fix off-by-one length in UUID format string
8569 - BUILD/MINOR: ssl: shut up a build warning about format truncation
8570 - BUILD: do not disable -Wformat-truncation anymore
8571 - MINOR: chunk: add chunk_istcat() to concatenate an ist after a chunk
8572 - Revert "MINOR: istbuf: add b_fromist() to make a buffer from an ist"
8573 - MINOR: mux: Add a new method to get informations about a mux.
8574 - BUG/MEDIUM: stream_interface: Only use SI_ST_RDY when the mux is ready.
8575 - BUG/MEDIUM: servers: Only set SF_SRV_REUSED if the connection if fully ready.
8576 - MINOR: doc: fix busy-polling performance reference
8577 - MINOR: config: allow no set-dumpable config option
8578 - MINOR: init: always fail when setrlimit fails
8579 - MINOR: ssl/cli: rework 'set ssl cert' as 'set/commit'
8580 - CLEANUP: ssl/cli: remove leftovers of bundle/certs (it < 2)
8581 - REGTEST: vtest can now enable mcli with its own flag
8582 - BUG/MINOR: config: Update cookie domain warn to RFC6265
8583 - MINOR: sample: add us/ms support to date/http_date
8584 - BUG/MINOR: ssl/cli: check trash allocation in cli_io_handler_commit_cert()
8585 - BUG/MEDIUM: mux-h2: report no available stream on a connection having errors
8586 - BUG/MEDIUM: mux-h2: immediately remove a failed connection from the idle list
8587 - BUG/MEDIUM: mux-h2: immediately report connection errors on streams
8588 - BUG/MINOR: stats: properly check the path and not the whole URI
8589 - BUG/MINOR: ssl: segfault in cli_parse_set_cert with old openssl/boringssl
8590 - BUG/MINOR: ssl: ckch->chain must be initialized
8591 - BUG/MINOR: ssl: double free on error for ckch->{key,cert}
8592 - MINOR: ssl: BoringSSL ocsp_response does not need issuer
8593 - BUG/MEDIUM: ssl/cli: fix dot research in cli_parse_set_cert
8594 - MINOR: backend: Add srv_name sample fetche
8595 - DOC: Add GitHub issue config.yml
8596
8597 2019/10/25 : 2.1-dev3
8598 - MINOR: mux-h2/trace: missing conn pointer in demux full message
8599 - MINOR: mux-h2: add a per-connection list of blocked streams
8600 - BUILD: ebtree: make eb_is_empty() and eb_is_dup() take a const
8601 - BUG/MEDIUM: mux-h2: do not enforce timeout on long connections
8602 - BUG/MEDIUM: tasks: Don't forget to decrement tasks_run_queue.
8603 - BUG/MINOR: peers: crash on reload without local peer.
8604 - BUG/MINOR: mux-h2/trace: Fix traces on h2c initialization
8605 - MINOR: h1-htx: Update h1_copy_msg_data() to ease the traces in the mux-h1
8606 - MINOR: htx: Adapt htx_dump() to be used from traces
8607 - MINOR: mux-h1/trace: register a new trace source with its events
8608 - MINOR: proxy: Store http-send-name-header in lower case
8609 - MINOR: http: Remove headers matching the name of http-send-name-header option
8610 - BUG/MINOR: mux-h1: Adjust header case when the server name is add to a request
8611 - BUG/MINOR: mux-h1: Adjust header case when chunked encoding is add to a message
8612 - MINOR: mux-h1: Try to wakeup the stream on output buffer allocation
8613 - MINOR: fcgi: Add function to get the string representation of a record type
8614 - MINOR: mux-fcgi/trace: Register a new trace source with its events
8615 - BUG/MEDIUM: cache: make sure not to cache requests with absolute-uri
8616 - DOC: clarify some points around http-send-name-header's behavior
8617 - MEDIUM: mux-h2: support emitting CONTINUATION frames after HEADERS
8618 - BUG/MINOR: mux-h1/mux-fcgi/trace: Fix position of the 4th arg in some traces
8619 - DOC: fix typo in Prometheus exporter doc
8620 - MINOR: h2: clarify the rules for how to convert an H2 request to HTX
8621 - MINOR: htx: Add 2 flags on the start-line to have more info about the uri
8622 - MINOR: http: Add a function to get the authority into a URI
8623 - MINOR: h1-htx: Set the flag HTX_SL_F_HAS_AUTHORITY during the request parsing
8624 - MEDIUM: http-htx: Keep the Host header and the request start-line synchronized
8625 - MINOR: h1-htx: Only use the path of a normalized URI to format a request line
8626 - MEDIUM: h2: make the request parser rebuild a complete URI
8627 - MINOR: h2: report in the HTX flags when the request has an authority
8628 - MEDIUM: mux-h2: do not map Host to :authority on output
8629 - MEDIUM: h2: use the normalized URI encoding for absolute form requests
8630 - MINOR: stats: mention in the help message support for "json" and "typed"
8631 - MINOR: stats: get rid of the ST_CONVDONE flag
8632 - MINOR: stats: replace the ST_* uri_auth flags with STAT_*
8633 - MINOR: stats: always merge the uri_auth flags into the appctx flags
8634 - MINOR: stats: set the appctx flags when initializing the applet only
8635 - MINOR: stats: get rid of the STAT_SHOWADMIN flag
8636 - MINOR: stats: make stats_dump_fields_json() directly take flags
8637 - MINOR: stats: uniformize the calling convention of the dump functions
8638 - MINOR: stats: support the "desc" output format modifier for info and stat
8639 - MINOR: stats: prepare to add a description with each stat/info field
8640 - MINOR: stats: make "show stat" and "show info"
8641 - MINOR: stats: fill all the descriptions for "show info" and "show stat"
8642 - BUG/MEDIUM: applet: always check a fast running applet's activity before killing
8643 - BUILD: stats: fix missing '=' sign in array declaration
8644 - MINOR: lists: add new macro LIST_SPLICE_END_DETACHED
8645 - MINOR: list: add new macro MT_LIST_BEHEAD
8646 - MEDIUM: task: Split the tasklet list into two lists.
8647 - MINOR: h2: Document traps to be avoided on multithread.
8648 - MINOR: lists: Try to use local variables instead of macro arguments.
8649 - MINOR: lists: Fix alignement of \ when relevant.
8650 - MINOR: mux-h2: also support emitting CONTINUATION on trailers
8651 - MINOR: ssl: crt-list do ckchn_lookup
8652 - REORG: ssl: rename ckch_node to ckch_store
8653 - REORG: ssl: move structures to ssl_sock.h
8654 - MINOR: ssl: initialize the sni_keytypes_map as EB_ROOT
8655 - MINOR: ssl: initialize explicitly the sni_ctx trees
8656 - BUG/MINOR: ssl: abort on sni allocation failure
8657 - BUG/MINOR: ssl: free the sni_keytype nodes
8658 - BUG/MINOR: ssl: abort on sni_keytypes allocation failure
8659 - MEDIUM: ssl: introduce the ckch instance structure
8660 - MEDIUM: ssl: split ssl_sock_add_cert_sni()
8661 - MINOR: ssl: ssl_sock_load_ckchn() can properly fail
8662 - MINOR: ssl: ssl_sock_load_multi_ckchs() can properly fail
8663 - MEDIUM: ssl: ssl_sock_load_ckchs() alloc a ckch_inst
8664 - MINOR: ssl: ssl_sock_load_crt_file_into_ckch() is filling from a BIO
8665 - MEDIUM: ssl/cli: 'set ssl cert' updates a certificate from the CLI
8666 - MINOR: ssl: load the sctl in/from the ckch
8667 - MINOR: ssl: load the ocsp in/from the ckch
8668 - BUG/MEDIUM: ssl: NULL dereference in ssl_sock_load_cert_sni()
8669 - BUG/MINOR: ssl: fix build without SSL
8670 - BUG/MINOR: ssl: fix build without multi-cert bundles
8671 - BUILD: ssl: wrong #ifdef for SSL engines code
8672 - BUG/MINOR: ssl: fix OCSP build with BoringSSL
8673 - BUG/MEDIUM: htx: Catch chunk_memcat() failures when HTX data are formatted to h1
8674 - BUG/MINOR: chunk: Fix tests on the chunk size in functions copying data
8675 - BUG/MINOR: mux-h1: Mark the output buffer as full when the xfer is interrupted
8676 - MINOR: mux-h1: Xfer as much payload data as possible during output processing
8677 - CLEANUP: h1-htx: Move htx-to-h1 formatting functions from htx.c to h1_htx.c
8678 - BUG/MINOR: mux-h1: Capture ignored parsing errors
8679 - MINOR: h1: Reject requests with different occurrences of the header host
8680 - MINOR: h1: Reject requests if the authority does not match the header host
8681 - REGTESTS: Send valid URIs in peers reg-tests and fix HA config to avoid warnings
8682 - REGTESTS: Adapt proxy_protocol_random_fail.vtc to match normalized URI too
8683 - BUG/MINOR: WURFL: fix send_log() function arguments
8684 - BUG/MINOR: ssl: fix error messages for OCSP loading
8685 - BUG/MINOR: ssl: can't load ocsp files
8686 - MINOR: version: make the version strings variables, not constants
8687 - BUG/MINOR: http-htx: Properly set htx flags on error files to support keep-alive
8688 - MINOR: htx: Add a flag on HTX to known when a response was generated by HAProxy
8689 - MINOR: mux-h1: Force close mode for proxy responses with an unfinished request
8690 - BUILD: travis-ci: limit build to branches "master" and "next"
8691 - BUILD/MEDIUM: threads: rename thread_info struct to ha_thread_info
8692 - BUILD/SMALL: threads: enable threads on osx
8693 - BUILD/MEDIUM: threads: enable cpu_affinity on osx
8694 - MINOR: istbuf: add b_fromist() to make a buffer from an ist
8695 - BUG/MINOR: cache: also cache absolute URIs
8696 - BUG/MINOR: mworker/ssl: close openssl FDs unconditionally
8697 - BUG/MINOR: tcp: Don't alter counters returned by tcp info fetchers
8698 - BUG/MEDIUM: lists: Handle 1-element-lists in MT_LIST_BEHEAD().
8699 - BUG/MEDIUM: mux_pt: Make sure we don't have a conn_stream before freeing.
8700 - BUG/MEDIUM: tasklet: properly compute the sleeping threads mask in tasklet_wakeup()
8701 - BUG/MAJOR: idle conns: schedule the cleanup task on the correct threads
8702 - BUG/MEDIUM: task: make tasklets either local or shared but not both at once
8703 - Revert e8826ded5fea3593d89da2be5c2d81c522070995.
8704 - BUG/MEDIUM: mux_pt: Don't destroy the connection if we have a stream attached.
8705 - BUG/MEDIUM: mux_pt: Only call the wake emthod if nobody subscribed to receive.
8706 - REGTEST: mcli/mcli_show_info: launch a 'show info' on the master CLI
8707 - CLEANUP: ssl: make ssl_sock_load_cert*() return real error codes
8708 - CLEANUP: ssl: make ssl_sock_load_ckchs() return a set of ERR_*
8709 - CLEANUP: ssl: make cli_parse_set_cert handle errcode and warnings.
8710 - CLEANUP: ssl: make ckch_inst_new_load_(multi_)store handle errcode/warn
8711 - CLEANUP: ssl: make ssl_sock_put_ckch_into_ctx handle errcode/warn
8712 - CLEANUP: ssl: make ssl_sock_load_dh_params handle errcode/warn
8713 - CLEANUP: bind: handle warning label on bind keywords parsing.
8714 - BUG/MEDIUM: ssl: 'tune.ssl.default-dh-param' value ignored with openssl > 1.1.1
8715 - BUG/MINOR: mworker/cli: reload fail with inherited FD
8716 - BUG/MINOR: ssl: Fix fd leak on error path when a TLS ticket keys file is parsed
8717 - BUG/MINOR: stick-table: Never exceed (MAX_SESS_STKCTR-1) when fetching a stkctr
8718 - BUG/MINOR: cache: alloc shctx after check config
8719 - BUG/MINOR: sample: Make the `field` converter compatible with `-m found`
8720 - BUG/MINOR: server: check return value of fopen() in apply_server_state()
8721 - REGTESTS: make seamless-reload depend on 1.9 and above
8722 - REGTESTS: server/cli_set_fqdn requires version 1.8 minimum
8723 - BUG/MINOR: dns: allow srv record weight set to 0
8724 - BUG/MINOR: ssl: fix memcpy overlap without consequences.
8725 - BUG/MINOR: stick-table: fix an incorrect 32 to 64 bit key conversion
8726 - BUG/MEDIUM: pattern: make the pattern LRU cache thread-local and lockless
8727 - BUG/MINOR: mux-h2: do not emit logs on backend connections
8728 - CLEANUP: ssl: remove old TODO commentary
8729 - CLEANUP: ssl: fix SNI/CKCH lock labels
8730 - MINOR: ssl: OCSP functions can load from file or buffer
8731 - MINOR: ssl: load sctl from buf OR from a file
8732 - MINOR: ssl: load issuer from file or from buffer
8733 - MINOR: ssl: split ssl_sock_load_crt_file_into_ckch()
8734 - BUG/MINOR: ssl/cli: fix looking up for a bundle
8735 - MINOR: ssl/cli: update ocsp/issuer/sctl file from the CLI
8736 - MINOR: ssl: update ssl_sock_free_cert_key_and_chain_contents
8737 - MINOR: ssl: copy a ckch from src to dst
8738 - MINOR: ssl: new functions duplicate and free a ckch_store
8739 - MINOR: ssl/cli: assignate a new ckch_store
8740 - MEDIUM: cli/ssl: handle the creation of SSL_CTX in an IO handler
8741 - BUG/MINOR: ssl/cli: fix build of SCTL and OCSP
8742 - BUG/MINOR: ssl/cli: out of bounds when built without ocsp/sctl
8743 - BUG/MINOR: ssl: fix build with openssl < 1.1.0
8744 - BUG/MINOR: ssl: fix build of X509_chain_up_ref() w/ libreSSL
8745 - MINOR: tcp: avoid confusion in time parsing init
8746 - MINOR: debug: add a new "debug dev stream" command
8747 - MINOR: cli/debug: validate addresses using may_access() in "debug dev stream"
8748 - REORG: move CLI access level definitions to cli.h
8749 - MINOR: cli: add an expert mode to hide dangerous commands
8750 - MINOR: debug: make most debug CLI commands accessible in expert mode
8751 - MINOR: stats/debug: maintain a counter of debug commands issued
8752 - BUG/MEDIUM: debug: address a possible null pointer dereference in "debug dev stream"
8753
8754 2019/10/01 : 2.1-dev2
8755 - DOC: management: document reuse and connect counters in the CSV format
8756 - DOC: management: document cache_hits and cache_lookups in the CSV format
8757 - BUG/MINOR: dns: remove irrelevant dependency on a client connection
8758 - MINOR: applet: make appctx use their own pool
8759 - BUG/MEDIUM: checks: Don't attempt to receive data if we already subscribed.
8760 - BUG/MEDIUM: http/htx: unbreak option http_proxy
8761 - BUG/MINOR: backend: do not try to install a mux when the connection failed
8762 - MINOR: mux-h2: Don't adjust anymore the amount of data sent in h2_snd_buf()
8763 - BUG/MINOR: http_fetch: Fix http_auth/http_auth_group when called from TCP rules
8764 - BUG/MINOR: http_htx: Initialize HTX error messages for TCP proxies
8765 - BUG/MINOR: cache/htx: Make maxage calculation HTX aware
8766 - BUG/MINOR: hlua: Make the function txn:done() HTX aware
8767 - MINOR: proto_htx: Directly call htx_check_response_for_cacheability()
8768 - MINOR: proto_htx: Rely on the HTX function to apply a redirect rules
8769 - MINOR: proto_htx: Add the function htx_return_srv_error()
8770 - MINOR: backend/htx: Don't rewind output data to set the sni on a srv connection
8771 - MINOR: proto_htx: Don't stop forwarding when there is a post-connect processing
8772 - DOC: htx: Update comments in HTX files
8773 - CLEANUP: htx: Remove the unsued function htx_add_blk_type_size()
8774 - MINOR: htx: Deduce the number of used blocks from tail and head values
8775 - MINOR: htx: Use an array of char to store HTX blocks
8776 - MINOR: htx: Slightly update htx_dump() to report better messages
8777 - DOC: htx: Add internal documentation about the HTX
8778 - MAJOR: http: Deprecate and ignore the option "http-use-htx"
8779 - MEDIUM: mux-h2: Remove support of the legacy HTTP mode
8780 - CLEANUP: h2: Remove functions converting h2 requests to raw HTTP/1.1 ones
8781 - MINOR: connection: Remove the multiplexer protocol PROTO_MODE_HTX
8782 - MINOR: stream: Rely on HTX analyzers instead of legacy HTTP ones
8783 - MEDIUM: http_fetch: Remove code relying on HTTP legacy mode
8784 - MINOR: config: Remove tests on the option 'http-use-htx'
8785 - MINOR: stream: Remove tests on the option 'http-use-htx' in stream_new()
8786 - MINOR: proxy: Remove tests on the option 'http-use-htx' during H1 upgrade
8787 - MINOR: hlua: Remove tests on the option 'http-use-htx' to reject TCP applets
8788 - MINOR: cache: Remove tests on the option 'http-use-htx'
8789 - MINOR: contrib/prometheus-exporter: Remove tests on the option 'http-use-htx'
8790 - CLEANUP: proxy: Remove the flag PR_O2_USE_HTX
8791 - MINOR: proxy: Don't adjust connection mode of HTTP proxies anymore
8792 - MEDIUM: backend: Remove code relying on the HTTP legacy mode
8793 - MEDIUM: hlua: Remove code relying on the legacy HTTP mode
8794 - MINOR: http_act: Remove code relying on the legacy HTTP mode
8795 - MEDIUM: cache: Remove code relying on the legacy HTTP mode
8796 - MEDIUM: compression: Remove code relying on the legacy HTTP mode
8797 - MINOR: flt_trace: Remove code relying on the legacy HTTP mode
8798 - MINOR: stats: Remove code relying on the legacy HTTP mode
8799 - MAJOR: filters: Remove code relying on the legacy HTTP mode
8800 - MINOR: stream: Remove code relying on the legacy HTTP mode
8801 - MAJOR: http: Remove the HTTP legacy code
8802 - MINOR: hlua: Remove useless test on TX_CON_WANT_* flags
8803 - MINOR: proto_http: Remove unused http txn flags
8804 - MINOR: proto_http: Remove the unused flag HTTP_MSGF_WAIT_CONN
8805 - CLEANUP: proto_http: Group remaining flags of the HTTP transaction
8806 - CLEANUP: channel: Remove the unused flag CF_WAKE_CONNECT
8807 - CLEANUP: proto_http: Remove unecessary includes and comments
8808 - CLEANUP: proto_http: Move remaining code from proto_http.c to proto_htx.c
8809 - REORG: proto_htx: Move HTX analyzers & co to http_ana.{c,h} files
8810 - BUG/MINOR: debug: Remove flags CO_FL_SOCK_WR_ENA/CO_FL_SOCK_RD_ENA
8811 - MINOR: proxy: Remove support of the option 'http-tunnel'
8812 - DOC: config: Update as a result of the legacy HTTP removal
8813 - MEDIUM: config: Remove parsing of req* and rsp* directives
8814 - MINOR: proxy: Remove the unused list of block rules
8815 - MINOR: proxy/http_ana: Remove unused req_exp/rsp_exp and req_add/rsp_add lists
8816 - DOC: config: Remove unsupported req* and rsp* keywords
8817 - MINOR: global: Preset tune.max_http_hdr to its default value
8818 - MINOR: http: Don't store raw HTTP errors in chunks anymore
8819 - BUG/MINOR: session: Emit an HTTP error if accept fails only for H1 connection
8820 - BUG/MINOR: session: Send a default HTTP error if accept fails for a H1 socket
8821 - CLEANUP: mux-h2: Remove unused flags H2_SF_CHNK_*
8822 - BUG/MINOR: checks: do not exit tcp-checks from the middle of the loop
8823 - MINOR: config: Warn only if the option http-use-htx is used with "no" prefix
8824 - BUG/MEDIUM: mux-h1: Trim excess server data at the end of a transaction
8825 - MINOR: connection: add conn_get_src() and conn_get_dst()
8826 - MINOR: frontend: switch to conn_get_{src,dst}() for logging and debugging
8827 - MINOR: backend: switch to conn_get_{src,dst}() for port and address mapping
8828 - MINOR: ssl: switch to conn_get_dst() to retrieve the destination address
8829 - MINOR: tcp: replace various calls to conn_get_{from,to}_addr with conn_get_{src,dst}
8830 - MINOR: stream-int: use conn_get_{src,dst} in conn_si_send_proxy()
8831 - MINOR: stream/cli: use conn_get_{src,dst} in "show sess" and "show peers" output
8832 - MINOR: log: use conn_get_{dst,src}() to retrieve the cli/frt/bck/srv/ addresses
8833 - MINOR: http/htx: use conn_get_dst() to retrieve the destination address
8834 - MINOR: lua: use conn_get_{src,dst} to retrieve connection addresses
8835 - MINOR: http: check the source address via conn_get_src() in sample fetch functions
8836 - CLEANUP: connection: remove the now unused conn_get_{from,to}_addr()
8837 - MINOR: connection: add new src and dst fields
8838 - MINOR: connection: use conn->{src,dst} instead of &conn->addr.{from,to}
8839 - MINOR: ssl-sock: use conn->dst instead of &conn->addr.to
8840 - MINOR: lua: switch to conn->dst for a connection's target address
8841 - MINOR: peers: use conn->dst for the peer's target address
8842 - MINOR: htx: switch from conn->addr.{from,to} to conn->{src,dst}
8843 - MINOR: stream: switch from conn->addr.{from,to} to conn->{src,dst}
8844 - MINOR: proxy: switch to conn->src in error snapshots
8845 - MINOR: session: use conn->src instead of conn->addr.from
8846 - MINOR: tcp: replace conn->addr.{from,to} with conn->{src,dst}
8847 - MINOR: unix: use conn->dst for the target address in ->connect()
8848 - MINOR: sockpair: use conn->dst for the target address in ->connect()
8849 - MINOR: log: use conn->{src,dst} instead of conn->addr.{from,to}
8850 - MINOR: checks: replace conn->addr.to with conn->dst
8851 - MINOR: frontend: switch from conn->addr.{from,to} to conn->{src,dst}
8852 - MINOR: http: convert conn->addr.from to conn->src in sample fetches
8853 - MEDIUM: backend: turn all conn->addr.{from,to} to conn->{src,dst}
8854 - MINOR: connection: create a new pool for struct sockaddr_storage
8855 - MEDIUM: connection: make sure all address producers allocate their address
8856 - MAJOR: connection: remove the addr field
8857 - MINOR: connection: don't use clear_addr() anymore, just release the address
8858 - MINOR: stream: add a new target_addr entry in the stream structure
8859 - MAJOR: stream: store the target address into s->target_addr
8860 - MINOR: peers: now remove the remote connection setup code
8861 - MEDIUM: lua: do not allocate the remote connection anymore
8862 - MEDIUM: backend: always release any existing prior connection in connect_server()
8863 - MEDIUM: backend: remove impossible cases from connect_server()
8864 - BUG/MINOR: mux-h1: Close server connection if input data remains in h1_detach()
8865 - BUG/MEDIUM: tcp-checks: do not dereference inexisting conn_stream
8866 - BUG/MINOR: http_ana: Be sure to have an allocated buffer to generate an error
8867 - BUG/MINOR: http_htx: Support empty errorfiles
8868 - BUG/CRITICAL: http_ana: Fix parsing of malformed cookies which start by a delimiter
8869 - BUG/MEDIUM: protocols: add a global lock for the init/deinit stuff
8870 - BUG/MINOR: proxy: always lock stop_proxy()
8871 - MEDIUM: mux-h1: Add the support of headers adjustment for bogus HTTP/1 apps
8872 - BUILD: threads: add the definition of PROTO_LOCK
8873 - BUG/MEDIUM: lb-chash: Fix the realloc() when the number of nodes is increased
8874 - BUG/MEDIUM: streams: Don't switch the SI to SI_ST_DIS if we have data to send.
8875 - BUG/MINOR: log: make sure writev() is not interrupted on a file output
8876 - DOC: improve the wording in CONTRIBUTING about how to document a bug fix
8877 - MEDIUM: h1: Don't try to subscribe if we managed to read data.
8878 - MEDIUM: h1: Don't wake the H1 tasklet if we got the whole request.
8879 - REGTESTS: checks: exclude freebsd target for tcp-check_multiple_ports.vtc
8880 - BUG/MINOR: hlua/htx: Reset channels analyzers when txn:done() is called
8881 - BUG/MEDIUM: hlua: Check the calling direction in lua functions of the HTTP class
8882 - MINOR: hlua: Don't set request analyzers on response channel for lua actions
8883 - MINOR: hlua: Add a flag on the lua txn to know in which context it can be used
8884 - BUG/MINOR: hlua: Only execute functions of HTTP class if the txn is HTTP ready
8885 - BUG/MINOR: htx: Fix free space addresses calculation during a block expansion
8886 - MINOR: ssl: merge ssl_sock_load_cert_file() and ssl_sock_load_cert_chain_file()
8887 - MEDIUM: ssl: use cert_key_and_chain struct in ssl_sock_load_cert_file()
8888 - MEDIUM: ssl: split the loading of the certificates
8889 - MEDIUM: ssl: lookup and store in a ckch_node tree
8890 - MEDIUM: ssl: load DH param in struct cert_key_and_chain
8891 - BUG/MAJOR: queue/threads: avoid an AB/BA locking issue in process_srv_queue()
8892 - MINOR: ssl: use STACK_OF for chain certs
8893 - MINOR: ssl: add extra chain compatibility
8894 - MINOR: ssl: check private key consistency in loading
8895 - MINOR: ssl: do not look at DHparam with OPENSSL_NO_DH
8896 - CLEANUP: ssl: ssl_sock_load_crt_file_into_ckch
8897 - MINOR: ssl: clean ret variable in ssl_sock_load_ckchn
8898 - MAJOR: fd: Get rid of the fd cache.
8899 - MEDIUM: pollers: Remember the state for read and write for each threads.
8900 - MEDIUM: mux-h2: don't try to read more than needed
8901 - BUG/BUILD: ssl: fix build with openssl < 1.0.2
8902 - BUG/MEDIUM: ssl: does not try to free a DH in a ckch
8903 - BUG/MINOR: debug: fix a small race in the thread dumping code
8904 - MINOR: wdt: also consider that waiting in the thread dumper is normal
8905 - REGTESTS: checks: make 4be_1srv_health_checks more reliable
8906 - BUILD: ssl: BoringSSL add EVP_PKEY_base_id
8907 - BUG/MEDIUM: ssl: don't free the ckch in multi-cert bundle
8908 - BUG/MINOR: ssl: fix ressource leaks on error
8909 - BUG/MEDIUM: lb-chash: Ensure the tree integrity when server weight is increased
8910 - BUG/MAJOR: http/sample: use a static buffer for raw -> htx conversion
8911 - BUG/MINOR: stream-int: make sure to always release empty buffers after sending
8912 - BUG/MEDIUM: ssl: open the right path for multi-cert bundle
8913 - BUG/MINOR: stream-int: also update analysers timeouts on activity
8914 - BUG/MEDIUM: mux-h2: unbreak receipt of large DATA frames
8915 - BUG/MEDIUM: mux-h2: split the stream's and connection's window sizes
8916 - BUG/MEDIUM: proxy: Make sure to destroy the stream on upgrade from TCP to H2
8917 - DOC: Add 'Question.md' issue template, discouraging asking questions
8918 - BUG/MEDIUM: fd: Always reset the polled_mask bits in fd_dodelete().
8919 - BUG/MEDIUM: pollers: Clear the poll_send bits as well.
8920 - BUILD: travis-ci: enable daily Coverity scan
8921 - BUG/MINOR: mux-h2: don't refrain from sending an RST_STREAM after another one
8922 - BUG/MINOR: mux-h2: use CANCEL, not STREAM_CLOSED in h2c_frt_handle_data()
8923 - BUG/MINOR: mux-h2: do not send REFUSED_STREAM on aborted uploads
8924 - BUG/MEDIUM: mux-h2: do not recheck a frame type after a state transition
8925 - BUG/MINOR: mux-h2: always send stream window update before connection's
8926 - BUG/MINOR: mux-h2: always reset rcvd_s when switching to a new frame
8927 - BUG/MEDIUM: checks: make sure to close nicely when we're the last to speak
8928 - BUG/MEDIUM: stick-table: Wrong stick-table backends parsing.
8929 - CLEANUP: mux-h2: move the demuxed frame check code in its own function
8930 - MINOR: cache: add method to cache hash
8931 - MINOR: cache: allow caching of OPTIONS request
8932 - BUG/MINOR: ssl: fix 0-RTT for BoringSSL
8933 - MINOR: ssl: ssl_fc_has_early should work for BoringSSL
8934 - BUG/MINOR: pools: don't mark the thread harmless if already isolated
8935 - BUG/MINOR: buffers/threads: always clear a buffer's head before releasing it
8936 - CLEANUP: buffer: replace b_drop() with b_free()
8937 - CLEANUP: task: move the cpu_time field to the task-only part
8938 - MINOR: cli: add two new states to print messages on the CLI
8939 - MINOR: cli: add cli_msg(), cli_err(), cli_dynmsg(), cli_dynerr()
8940 - CLEANUP: cli: replace all occurrences of manual handling of return messages
8941 - BUG/MEDIUM: proxy: Don't forget the SF_HTX flag when upgrading TCP=>H1+HTX.
8942 - BUG/MEDIUM: proxy: Don't use cs_destroy() when freeing the conn_stream.
8943 - BUG/MINOR: lua: fix setting netfilter mark
8944 - BUG/MINOR: Fix prometheus '# TYPE' and '# HELP' headers
8945 - BUG/MEDIUM: lua: Fix test on the direction to set the channel exp timeout
8946 - BUG/MINOR: stats: Wait the body before processing POST requests
8947 - MINOR: fd: make sure to mark the thread as not stuck in fd_update_events()
8948 - BUG/MEDIUM: mux_pt: Don't call unsubscribe if we did not subscribe.
8949 - BUILD: travis-ci: trigger non-mainstream configurations only on daily builds.
8950 - MINOR: debug: indicate the applet name when the task is task_run_applet()
8951 - MINOR: tools: add append_prefixed_str()
8952 - MINOR: lua: export applet and task handlers
8953 - MEDIUM: debug: make the thread dump code show Lua backtraces
8954 - BUG/MEDIUM: h1: Always try to receive more in h1_rcv_buf().
8955 - MINOR: list: add LIST_SPLICE() to merge one list into another
8956 - MINOR: tools: add a DEFNULL() macro to use NULL for empty args
8957 - REORG: trace: rename trace.c to calltrace.c and mention it's not thread-safe
8958 - MINOR: sink: create definitions a minimal code for event sinks
8959 - MINOR: sink: add a support for file descriptors
8960 - MINOR: trace: start to create a new trace subsystem
8961 - MINOR: trace: add allocation of buffer-sized trace buffers
8962 - MINOR: trace/cli: register the "trace" CLI keyword to list the sources
8963 - MINOR: trace/cli: parse the "level" argument to configure the trace verbosity
8964 - MINOR: trace/cli: add "show trace" to report trace state and statistics
8965 - MINOR: trace: implement a very basic trace() function
8966 - MINOR: trace: add the file name and line number in the prefix
8967 - MINOR: trace: make trace() now also take a level in argument
8968 - MINOR: trace: implement a call to a decode function
8969 - MINOR: trace: add per-level macros to produce traces
8970 - MINOR: trace: add a definition of typed arguments to trace()
8971 - MINOR: trace: make sure to always stop the locking when stopping or pausing
8972 - MINOR: trace: add the possibility to lock on some arguments
8973 - MINOR: trace: parse the "lock" argument to trace
8974 - MINOR: trace: retrieve useful pointers and enforce lock-on
8975 - DOC: management: document the "trace" and "show trace" commands
8976 - BUILD: trace: make the lockon_ptr const to silence a warning without threads
8977 - BUG/MEDIUM: mux-h1: do not truncate trailing 0CRLF on buffer boundary
8978 - BUG/MEDIUM: mux-h1: do not report errors on transfers ending on buffer full
8979 - DOC: fixed typo in management.txt
8980 - BUG/MINOR: mworker: disable SIGPROF on re-exec
8981 - BUG/MEDIUM: listener/threads: fix an AB/BA locking issue in delete_listener()
8982 - BUG/MEDIUM: url32 does not take the path part into account in the returned hash.
8983 - MINOR: backend: Add srv_queue converter
8984 - MINOR: sink: set the fd-type sinks to non-blocking
8985 - MINOR: tools: add a function varint_bytes() to report the size of a varint
8986 - MINOR: buffer: add functions to read/write varints from/to buffers
8987 - MINOR: fd: add fd_write_frag_line() to send a fragmented line to an fd
8988 - MINOR: sink: now call the generic fd write function
8989 - MINOR: ring: add a new mechanism for retrieving/storing ring data in buffers
8990 - MINOR: ring: add a ring_write() function
8991 - MINOR: ring: add a generic CLI io_handler to dump a ring buffer
8992 - MINOR: sink: add support for ring buffers
8993 - MINOR: sink: implement "show events" to show supported sinks and dump the rings
8994 - MINOR: sink: now report the number of dropped events on output
8995 - MINOR: trace: support a default callback for the source
8996 - MINOR: trace: extend the source location to 13 chars
8997 - MINOR: trace: show thread number and source name in the trace
8998 - MINOR: trace: change the TRACE() calling convention to put the args and cb last
8999 - MINOR: connection: add the fc_pp_authority fetch -- authority TLV, from PROXYv2
9000 - MINOR: tools: add a generic struct "name_desc" for name-description pairs
9001 - MINOR: trace: replace struct trace_lockon_args with struct name_desc
9002 - MINOR: trace: change the "payload" level to "data" and move it
9003 - MINOR: trace: prepend the function name for developer level traces
9004 - MINOR: trace: also report the trace level in the output
9005 - MINOR: trace: change the detail_level to per-source verbosity
9006 - MINOR: mux-h2/trace: register a new trace source with its events
9007 - MINOR: mux-h2/trace: add the default decoding callback
9008 - MEDIUM: mux-h2/trace: add lots of traces all over the code
9009 - MINOR: mux-h2: add functions to convert an h2c/h2s state to a string
9010 - MINOR: mux-h2/trace: add a new verbosity level "clean"
9011 - MINOR: mux-h2/trace: only decode the start-line at verbosity other than "minimal"
9012 - MINOR: mux-h2/trace: always report the h2c/h2s state and flags
9013 - MINOR: mux-h2/trace: report h2s->id before h2c->dsi for the stream ID
9014 - CLEANUP: mux-h2/trace: reformat the "received" messages for better alignment
9015 - CLEANUP: mux-h2/trace: lower-case event names
9016 - MINOR: trace: extend default event names to 12 chars
9017 - BUG/MINOR: ring: fix the way watchers are counted
9018 - MINOR: cli: extend the CLI context with a list and two offsets
9019 - MINOR: mux-h2/trace: report the connection pointer and state before FRAME_H
9020 - MEDIUM: ring: implement a wait mode for watchers
9021 - BUG/MEDIUM: mux-h2/trace: do not dereference h2c->conn after failed idle
9022 - BUG/MEDIUM: mux-h2/trace: fix missing braces added with traces
9023 - BUG/MINOR: ring: b_peek_varint() returns a uint64_t, not a size_t
9024 - CLEANUP: fd: remove leftovers of the fdcache
9025 - MINOR: fd: add a new "initialized" bit in the fdtab struct
9026 - MINOR: fd/log/sink: make the non-blocking initialization depend on the initialized bit
9027 - MEDIUM: log: use the new generic fd_write_frag_line() function
9028 - MINOR: log: add a target type instead of hacking the address family
9029 - MEDIUM: log: add support for logging to a ring buffer
9030 - MINOR: send-proxy-v2: sends authority TLV according to TLV received
9031 - MINOR: build: add linux-glibc-legacy build TARGET
9032 - BUG/MEDIUM: peers: local peer socket not bound.
9033 - BUILD: connection: silence gcc warning with extra parentheses
9034 - BUG/MINOR: http-ana: Reset response flags when 1xx messages are handled
9035 - BUG/MINOR: h1: Properly reset h1m when parsing is restarted
9036 - BUG/MINOR: mux-h1: Fix size evaluation of HTX messages after headers parsing
9037 - BUG/MINOR: mux-h1: Don't stop anymore input processing when the max is reached
9038 - BUG/MINOR: mux-h1: Be sure to update the count before adding EOM after trailers
9039 - BUG/MEDIUM: cache: Properly copy headers splitted on several shctx blocks
9040 - BUG/MEDIUM: cache: Don't cache objects if the size of headers is too big
9041 - BUG/MINOR: mux-h1: Fix a possible null pointer dereference in h1_subscribe()
9042 - MEDIUM: fd: remove the FD_EV_POLLED status bit
9043 - MEDIUM: fd: simplify the fd_*_{recv,send} functions using BTS/BTR
9044 - MINOR: fd: make updt_fd_polling() a normal function
9045 - CONTRIB: debug: add new program "poll" to test poll() events
9046 - BUG/MINOR: checks: stop polling for write when we have nothing left to send
9047 - BUG/MINOR: checks: start sending the request right after connect()
9048 - BUG/MINOR: checks: make __event_chk_srv_r() report success before closing
9049 - BUG/MINOR: checks: do not uselessly poll for reads before the connection is up
9050 - BUG/MINOR: mux-h1: Fix a UAF in cfg_h1_headers_case_adjust_postparser()
9051 - BUILD: CI: add basic CentOS 6 cirrus build
9052 - MINOR: contrib/prometheus-exporter: Report DRAIN/MAINT/NOLB status for servers
9053 - BUG/MINOR: lb/leastconn: ignore the server weights for empty servers
9054 - BUG/MAJOR: ssl: ssl_sock was not fully initialized.
9055 - MEDIUM: fd: mark the FD as ready when it's inserted
9056 - MINOR: fd: add two new calls fd_cond_{recv,send}()
9057 - MEDIUM: connection: enable reading only once the connection is confirmed
9058 - MINOR: fd: add two flags ERR and SHUT to describe FD states
9059 - MEDIUM: fd: do not use the FD_POLL_* flags in the pollers anymore
9060 - BUG/MEDIUM: connection: don't keep more idle connections than ever needed
9061 - MINOR: stats: report the number of idle connections for each server
9062 - BUILD: CI: skip reg-tests/connection/proxy_protocol_random_fail.vtc on CentOS 6
9063 - BUILD/MINOR: auth: enabling for osx
9064 - BUG/MINOR: listener: Fix a possible null pointer dereference
9065 - BUG/MINOR: ssl: always check for ssl connection before getting its XPRT context
9066 - MINOR: stats: Add JSON export from the stats page
9067 - BUG/MINOR: filters: Properly set the HTTP status code on analysis error
9068 - MINOR: sample: Add UUID-fetch
9069 - CLEANUP: mux-h2: Remove unused flag H2_SF_DATA_CHNK
9070 - BUG/MINOR: acl: Fix memory leaks when an ACL expression is parsed
9071 - BUG/MINOR: backend: Fix a possible null pointer dereference
9072 - BUG/MINOR: Missing stat_field_names (since f21d17bb)
9073 - BUG/MEDIUM: stick-table: Properly handle "show table" with a data type argument
9074 - BUILD: CI: temporarily disable ASAN
9075 - MINOR: htx: Add a flag on HTX message to report processing errors
9076 - MINOR: mux-h1: Report a processing error during output processing
9077 - MINOR: http-ana: Handle HTX errors first during message analysis
9078 - MINOR: http-ana: Remove err_state field from http_msg
9079 - MINOR: config: Support per-proxy and per-server deinit functions callbacks
9080 - MINOR: config: Support per-proxy and per-server post-check functions callbacks
9081 - MINOR: http_fetch: Add sample fetches to get auth method/user/pass
9082 - MINOR: istbuf: Add the function b_isteqi()
9083 - MINOR: log: Provide a function to emit a log for an application
9084 - MINOR: http: Add function to parse value of the header Status
9085 - MEDIUM: mux-h1/h1-htx: move HTX convertion of H1 messages in dedicated file
9086 - MINOR: h1-htx: Use the same function to copy message payload in all cases
9087 - MINOR: muxes/htx: Ignore pseudo header during message formatting
9088 - MINOR: fcgi: Add code related to FCGI protocol
9089 - MEDIUM: fcgi-app: Add FCGI application and filter
9090 - MEDIUM: mux-fcgi: Add the FCGI multiplexer
9091 - MINOR: doc: Add documentation about the FastCGI support
9092 - BUG/MINOR: build: Fix compilation of mux_fcgi.c when compiled without SSL
9093 - BUILD: CI: install golang-1.13 when building BoringSSL
9094 - BUG/MINOR: mux-h2: Be sure to have a connection to unsubcribe
9095 - BUG/MINOR: mux-fcgi: Be sure to have a connection to unsubcribe
9096 - CLEANUP: fcgi-app: Remove useless test on fcgi_conf pointer
9097 - BUG/MINOR: mux-fcgi: Don't compare the filter name in its parsing callback
9098 - BUG/MAJOR: mux-h2: Handle HEADERS frames received after a RST_STREAM frame
9099 - BUG/MEDIUM: check/threads: make external checks run exclusively on thread 1
9100 - MEDIUM: list: Separate "locked" list from regular list.
9101 - MINOR: mt_lists: Add new macroes.
9102 - MEDIUM: servers: Use LIST_DEL_INIT() instead of LIST_DEL().
9103 - MINOR: mt_lists: Do nothing in MT_LIST_ADD/MT_LIST_ADDQ if already in list.
9104 - MINOR: mt_lists: Give MT_LIST_ADD, MT_LIST_ADDQ and MT_LIST_DEL a return value.
9105 - MEDIUM: tasklets: Make the tasklet list a struct mt_list.
9106 - TESTS: Add a stress-test for mt_lists.
9107 - BUILD: travis-ci: add PCRE2, SLZ build
9108 - BUG/MINOR: build: fix event ports (Solaris)
9109 - BUG/MEDIUM: namespace: fix fd leak in master-worker mode
9110 - OPTIM: listeners: use tasklets for the multi-queue rings
9111 - BUILD: makefile: work around yet another GCC fantasy (-Wstring-plus-int)
9112 - BUG/MINOR: stream-int: Process connection/CS errors first in si_cs_send()
9113 - BUG/MEDIUM: stream-int: Process connection/CS errors during synchronous sends
9114 - BUG/MEDIUM: checks: make sure the connection is ready before trying to recv
9115 - CLEANUP: task: remove impossible test
9116 - CLEANUP: task: cache the task_per_thread pointer
9117 - MINOR: task: split the tasklet vs task code in process_runnable_tasks()
9118 - MINOR: task: introduce a thread-local "sched" variable for local scheduler stuff
9119 - CLEANUP: mux-fcgi: Remove the unused function fcgi_strm_id()
9120 - BUG/MINOR: mux-fcgi: Use a literal string as format in app_log()
9121 - BUG/MEDIUM: tasklets: Make sure we're waking the target thread if it sleeps.
9122 - MINOR: h2/trace: indicate 'F' or 'B' to locate the side of an h2c in traces
9123 - MINOR: h2/trace: report the frame type when known
9124 - BUG/MINOR: mux-h2: do not wake up blocked streams before the mux is ready
9125 - BUG/MEDIUM: namespace: close open namespaces during soft shutdown
9126 - MINOR: time: add timeofday_as_iso_us() to return instant time as ISO
9127 - MINOR: sink: finally implement support for SINK_FMT_{TIMED,ISO}
9128 - MINOR: sink: change ring buffer "buf0"'s format to "timed"
9129 - BUG/MEDIUM: mux-h2: don't reject valid frames on closed streams
9130 - BUG/MINOR: mux-fcgi: silence a gcc warning about null dereference
9131 - BUG/MINOR: mux-h2: Fix missing braces because of traces in h2_detach()
9132 - BUG/MINOR: mux-h2: Use the dummy error when decoding headers for a closed stream
9133 - BUG/MAJOR: mux_h2: Don't consume more payload than received for skipped frames
9134 - BUG/MINOR: mux-h1: Do h2 upgrade only on the first request
9135 - BUG/MEDIUM: spoe: Use a different engine-id per process
9136 - MINOR: spoe: Improve generation of the engine-id
9137 - MINOR: spoe: Support the async mode with several threads
9138 - MINOR: http: Add server name header from HTTP multiplexers
9139 - CLEANUP: http-ana: Remove the unused function http_send_name_header()
9140 - MINOR: stats: Add the support of float fields in stats
9141 - BUG/MINOR: contrib/prometheus-exporter: Return the time averages in seconds
9142 - DOC: Fix documentation about the cli command to get resolver stats
9143 - BUG/MEDIUM: fcgi: fix missing list tail in sample fetch registration
9144 - BUG/MINOR: stats: Add a missing break in a switch statement
9145 - BUG/MINOR: lua: Properly initialize the buffer's fields for string samples in hlua_lua2(smp|arg)
9146 - CLEANUP: lua: Get rid of obsolete (size_t *) cast in hlua_lua2(smp|arg)
9147 - BUG/MEDIUM: lua: Store stick tables into the sample's `t` field
9148 - CLEANUP: proxy: Remove `proxy_tbl_by_name`
9149 - BUILD: ssl: fix a warning when built with openssl < 1.0.2
9150 - DOC: replace utf-8 quotes by ascii ones
9151 - BUG/MEDIUM: fd: HUP is an error only when write is active
9152 - BUG/MINOR: action: do-resolve does not yield on requests with body
9153 - Revert "MINOR: cache: allow caching of OPTIONS request"
9154
9155 2019/07/16 : 2.1-dev1
9156 - BUG/MEDIUM: h2/htx: Update data length of the HTX when the cookie list is built
9157 - DOC: this is a development branch again.
9158 - MEDIUM: Make 'block' directive fatal
9159 - MEDIUM: Make 'redispatch' directive fatal
9160 - MEDIUM: Make '(cli|con|srv)timeout' directive fatal
9161 - MEDIUM: Remove 'option independant-streams'
9162 - MINOR: sample: Add sha2([<bits>]) converter
9163 - MEDIUM: server: server-state global file stored in a tree
9164 - BUG/MINOR: lua/htx: Make txn.req_req_* and txn.res_rep_* HTX aware
9165 - BUG/MINOR: mux-h1: Add the header connection in lower case in outgoing messages
9166 - BUG/MEDIUM: compression: Set Vary: Accept-Encoding for compressed responses
9167 - MINOR: htx: Add the function htx_change_blk_value_len()
9168 - BUG/MEDIUM: htx: Fully update HTX message when the block value is changed
9169 - BUG/MEDIUM: mux-h2: Reset padlen when several frames are demux
9170 - BUG/MEDIUM: mux-h2: Remove the padding length when a DATA frame size is checked
9171 - BUG/MEDIUM: lb_fwlc: Don't test the server's lb_tree from outside the lock
9172 - BUG/MAJOR: sample: Wrong stick-table name parsing in "if/unless" ACL condition.
9173 - BUILD: mworker: silence two printf format warnings around getpid()
9174 - BUILD: makefile: use :space: instead of digits to count commits
9175 - BUILD: makefile: adjust the sed expression of "make help" for solaris
9176 - BUILD: makefile: do not rely on shell substitutions to determine git version
9177 - BUG/MINOR: mworker-prog: Fix segmentation fault during cfgparse
9178 - BUG/MINOR: spoe: Fix memory leak if failing to allocate memory
9179 - BUG/MEDIUM: mworker: don't call the thread and fdtab deinit
9180 - BUG/MEDIUM: stream_interface: Don't add SI_FL_ERR the state is < SI_ST_CON.
9181 - BUG/MEDIUM: connections: Always add the xprt handshake if needed.
9182 - BUG/MEDIUM: ssl: Don't do anything in ssl_subscribe if we have no ctx.
9183 - BUG/MEDIUM: mworker/cli: command pipelining doesn't work anymore
9184 - BUG/MINOR: htx: Save hdrs_bytes when the HTX start-line is replaced
9185 - BUG/MAJOR: mux-h1: Don't crush trash chunk area when outgoing message is formatted
9186 - BUG/MINOR: memory: Set objects size for pools in the per-thread cache
9187 - BUG/MINOR: log: Detect missing sampling ranges in config
9188 - BUG/MEDIUM: proto_htx: Don't add EOM on 1xx informational messages
9189 - BUG/MEDIUM: mux-h1: Use buf_room_for_htx_data() to detect too large messages
9190 - BUG/MINOR: mux-h1: Make format errors during output formatting fatal
9191 - BUG/MEDIUM: ssl: Don't attempt to set alpn if we're not using SSL.
9192 - BUG/MEDIUM: mux-h1: Always release H1C if a shutdown for writes was reported
9193 - BUG/MINOR: mworker/cli: don't output a \n before the response
9194 - BUG/MEDIUM: checks: unblock signals in external checks
9195 - BUG/MINOR: mux-h1: Skip trailers for non-chunked outgoing messages
9196 - BUG/MINOR: mux-h1: Don't return the empty chunk on HEAD responses
9197 - BUG/MEDIUM: connections: Always call shutdown, with no linger.
9198 - BUG/MEDIUM: checks: Make sure the tasklet won't run if the connection is closed.
9199 - BUG/MINOR: contrib/prometheus-exporter: Don't use channel_htx_recv_max()
9200 - BUG/MINOR: hlua: Don't use channel_htx_recv_max()
9201 - BUG/MEDIUM: channel/htx: Use the total HTX size in channel_htx_recv_limit()
9202 - BUG/MINOR: hlua/htx: Respect the reserve when HTX data are sent
9203 - BUG/MINOR: contrib/prometheus-exporter: Respect the reserve when data are sent
9204 - BUG/MEDIUM: connections: Make sure we're unsubscribe before upgrading the mux.
9205 - BUG/MEDIUM: servers: Authorize tfo in default-server.
9206 - BUG/MEDIUM: sessions: Don't keep an extra idle connection in sessions.
9207 - MINOR: server: Add "no-tfo" option.
9208 - BUG/MINOR: contrib/prometheus-exporter: Don't try to add empty data blocks
9209 - MINOR: action: Add the return code ACT_RET_DONE for actions
9210 - BUG/MEDIUM: http/applet: Finish request processing when a service is registered
9211 - BUG/MEDIUM: lb_fas: Don't test the server's lb_tree from outside the lock
9212 - BUG/MEDIUM: mux-h1: Handle TUNNEL state when outgoing messages are formatted
9213 - BUG/MINOR: mux-h1: Don't process input or ouput if an error occurred
9214 - MINOR: stream-int: Factorize processing done after sending data in si_cs_send()
9215 - BUG/MEDIUM: stream-int: Don't rely on CF_WRITE_PARTIAL to unblock opposite si
9216 - DOC: contrib: spoa_server Add some hints for building spoa_server
9217 - DOC: Fix typo in intro.txt
9218 - BUG/MEDIUM: servers: Don't forget to set srv_cs to NULL if we can't reuse it.
9219 - BUG/MINOR: ssl: revert empty handshake detection in OpenSSL <= 1.0.2
9220 - MINOR: pools: release the pool's lock during the malloc/free calls
9221 - MINOR: pools: always pre-initialize allocated memory outside of the lock
9222 - MINOR: pools: make the thread harmless during the mmap/munmap syscalls
9223 - BUG/MEDIUM: fd/threads: fix excessive CPU usage on multi-thread accept
9224 - BUG/MINOR: server: Be really able to keep "pool-max-conn" idle connections
9225 - BUG/MEDIUM: checks: Don't attempt to read if we destroyed the connection.