Summary
2024/01/17 : 2.7r1 (1.0.0-306.1077)
- BUG/MINOR: mux-quic: do not prevent non-STREAM sending on flow control
- BUG/MEDIUM: spoe: Never create new spoe applet if there is no server up
- BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is forwardable
- BUG/MEDIUM: h3: fix incorrect snd_buf return value
- CLEANUP: quic: Remaining useless code into server part
- BUG/MINOR: h3: close connection on sending alloc errors
- BUG/MINOR: h3: properly handle alloc failure on finalize
- BUG/MINOR: h3: close connection on header list too big
- MINOR: h3: check connection error during sending
- BUG/MINOR: mux-quic: always report error to SC on RESET_STREAM emission
- BUG/MEDIUM: stats: unhandled switching rules with TCP frontend
- MINOR: stats: store the parent proxy in stats ctx (http)
- DOC: config: Update documentation about local haproxy response
- BUG/MINOR: resolvers: default resolvers fails when network not configured
- BUG/MEDIUM: mux-h2: Report too large HEADERS frame only when rxbuf is empty
- BUG/MEDIUM: quic: QUIC CID removed from tree without locking
- BUG/MINOR: mworker/cli: fix set severity-output support
- DOC: configuration: typo req.ssl_hello_type
2023/12/14 : 2.7r1 (1.0.0-305.1059)
- BUG/MEDIUM: proxy: always initialize the default settings after init
- BUG/MINOR: quic: Possible leak of TX packets under heavy load
- BUG/MEDIUM: quic: Possible crash during retransmissions and heavy load
- BUG/MINOR: cache: Remove incomplete entries from the cache when stream is closed
- DOC: Clarify the differences between field() and word()
- BUG/MINOR: sample: Make the `word` converter compatible with `-m found`
- REGTESTS: sample: Test the behavior of consecutive delimiters for the field converter
- DOC: config: fix monitor-fail typo
- DOC: config: add matrix entry for "max-session-srv-conns"
- DOC: config: specify supported sections for "max-session-srv-conns"
- BUG/MINOR: cfgparse-listen: fix warning being reported as an alert
- BUG/MINOR: config: Stopped parsing upon unmatched environment variables
- BUG/MINOR: quic_tp: fix preferred_address decoding
- DOC: config: fix missing characters in set-spoe-group action
- BUG/MINOR: h3: always reject PUSH_PROMISE
- BUG/MINOR: h3: fix TRAILERS encoding
- BUG/MINOR: quic: fix CONNECTION_CLOSE_APP encoding
- DOC: lua: fix Proxy.get_mode() output
- DOC: lua: add sticktable class reference from Proxy.stktable
- REGTESTS: connection: disable http_reuse_be_transparent.vtc if !TPROXY
- DOC: config: fix timeout check inheritance restrictions
- DOC: 51d: updated 51Degrees repo URL for v3.2.10
- BUG/MINOR: server: do not leak default-server in defaults sections
- BUG/MINOR: quic: Possible RX packet memory leak under heavy load
- BUG/MEDIUM: quic: Possible crash for connections to be killed
- BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them
- BUG/MINOR: startup: set GTUNE_SOCKET_TRANSFER correctly
- REGTESTS: http: add a test to validate chunked responses delivery
- BUG/MINOR: proxy/stktable: missing frees on proxy cleanup
- MINOR: stktable: add stktable_deinit function
- BUG/MINOR: stream/cli: report correct stream age in "show sess"
- BUG/MEDIUM: mux-fcgi: fail earlier on malloc in takeover()
- BUG/MEDIUM: mux-h1: fail earlier on malloc in takeover()
- BUG/MEDIUM: mux-h2: fail earlier on malloc in takeover()
- BUG/MAJOR: quic: complete thread migration before tcp-rules
- BUG/MINOR: stconn: Use HTX-aware channel's functions to get info on buffer
- BUG/MINOR: stconn: Fix streamer detection for HTX streams
- MINOR: channel: Add functions to get info on buffers and deal with HTX streams
- MINOR: htx: Use a macro for overhead induced by HTX
2023/11/16 : 2.7r1 (1.0.0-305.1020)
- BUG/MEDIUM: quic: fix sslconns on quic_conn alloc failure
- BUG/MEDIUM: quic: fix actconn on quic_conn alloc failure
- MEDIUM: quic: count quic_conn for global sslconns
- MEDIUM: quic: count quic_conn instance for maxconn
- BUG/MEDIUM: stream: Don't call mux .ctl() callback if not implemented
- BUG/MEDIUM: mworker: set the master variable earlier
- BUG/MINOR: http-client: Don't forget to commit changes on HTX message
- REGTESTS: http: Improve script testing abortonclose option
- BUG/MEDIUM: stream: Properly handle abortonclose when set on backend only
- MEDIUM: mux-h1: Handle MUX_SUBS_RECV flag in h1_ctl() and susbscribe for reads
- MINOR: connection: Add a CTL flag to notify mux it should wait for reads again
- BUG/MINOR: stconn: Handle abortonclose if backend connection was already set up
- BUG/MEDIUM: connection: report connection errors even when no mux is installed
- DOC: quic: Wrong syntax for "quic-cc-algo" keyword.
- BUG/MINOR: sink: don't learn srv port from srv addr
- BUG/MEDIUM: applet: Remove appctx from buffer wait list on release
- DOC: config: use the word 'backend' instead of 'proxy' in 'track' description
- BUG/MINOR: quic: fix retry token check inconsistency
- DOC: management: -q is quiet all the time
- BUG/MEDIUM: quic: Avoid some crashes upon TX packet allocation failures
- BUG/MEDIUM: quic: Possible crashes when sending too short Initial packets
- BUG/MEDIUM: quic: Avoid trying to send ACK frames from an empty ack ranges tree
- BUG/MINOR: quic: idle timer task requeued in the past
- BUG/MEDIUM: pool: fix releasable pool calculation when overloaded
- BUG/MEDIUM: freq-ctr: Don't report overshoot for long inactivity period
- BUG/MINOR: mux-h1: Properly handle http-request and http-keep-alive timeouts
- BUG/MINOR: stick-table/cli: Check for invalid ipv4 key
- CLEANUP: htx: Properly indent htx_reserve_max_data() function
- BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range()
- BUG/MINOR: cfgparse/stktable: fix error message on stktable_init() failure
- BUG/MINOR: stktable: missing free in parse_stick_table()
- BUG/MINOR: tcpcheck: Report hexstring instead of binary one on check failure
- BUG/MEDIUM: ssl: segfault when cipher is NULL
- BUG/MINOR: mux-quic: fix early close if unset client timeout
- BUG/MINOR: ssl: suboptimal certificate selection with TLSv1.3 and dual ECDSA/RSA
- MINOR: frontend: implement a dedicated actconn increment function
- BUG/MINOR: ssl: use a thread-safe sslconns increment
- BUG/MINOR: quic: do not consider idle timeout on CLOSING state
- BUG/MEDIUM: server: "proto" not working for dynamic servers
- MINOR: connection: add conn_pr_mode_to_proto_mode() helper func
- DEBUG: mux-h2/flags: fix list of h2c flags used by the flags decoder
- BUG/MINOR: ssl: load correctly @system-ca when ca-base is define
- DOC: internal: filters: fix reference to entities.pdf
- BUG/MINOR: mux-h2: update tracked counters with req cnt/req err
- BUG/MINOR: mux-h2: commit the current stream ID even on reject
- BUG/MEDIUM: peers: Fix synchro for huge number of tables
- BUG/MEDIUM: peers: Be sure to always refresh recconnect timer in sync task
- BUG/MINOR: trace: fix trace parser error reporting
- BUG/MINOR: mux-h2: fix http-request and http-keep-alive timeouts again
- BUG/MEDIUM: mux-h2: Don't report an error on shutr if a shutw is pending
- BUG/MINOR: mux-h2: make up other blocked streams upon removal from list
- BUG/MINOR: mux-h1: Send a 400-bad-request on shutdown before the first request
- BUG/MEDIUM: quic-conn: free unsent frames on retransmit to prevent crash
- BUG/MINOR: mux-quic: fix free on qcs-new fail alloc
- BUG/MINOR: h3: strengthen host/authority header parsing
- BUG/MINOR: mux-quic: support initial 0 max-stream-data
- BUG/MEDIUM: mux-quic: fix RESET_STREAM on send-only stream
- BUG/MINOR: quic: reject packet with no frame
- BUG/MINOR: quic: Avoid crashing with unsupported cryptographic algos
- BUG/MINOR: hq-interop: simplify parser requirement
- BUG/MEDIUM: h1: Ignore C-L value in the H1 parser if T-E is also set
- BUG/MINOR: mux-h1: Ignore C-L when sending H1 messages if T-E is also set
- BUG/MINOR: mux-h1: Handle read0 in rcv_pipe() only when data receipt was tried
- BUG/MEDIUM: hlua: Initialize appctx used by a lua socket on connect only
- MINOR: hlua: Test the hlua struct first when the lua socket is connecting
- MINOR: hlua: Save the lua socket's server in its context
- MINOR: hlua: Save the lua socket's timeout in its context
- MINOR: hlua: Don't preform operations on a not connected socket
- MINOR: hlua: Set context's appctx when the lua socket is created
- BUG/MEDIUM: http-ana: Try to handle response before handling server abort
2023/11/13 : 2.7r1 (1.0.0-305.950)
2023/10/24 : 2.7r1 (1.0.0-303.950)
- BUG/MINOR: stream: further protect stream_dump() against incomplete sessions
- BUG/MINOR: stream: protect stream_dump() against incomplete streams
2023/10/17 : 2.7r1 (1.0.0-303.948)
- BUG/MEDIUM: quic_conn: let the scheduler kill the task when needed
2023/10/16 : 2.7r1 (1.0.0-303.947)
- HAPEE: DOC: document the GPTSTR extensions in configuration.txt
- HAPEE: Revert GPTSTR
2023/10/06 : 2.7r1 (1.0.0-302.945)
- BUG/MEDIUM: hapee/addons: fix incorrect gpt index being used in sc-set-gptstr()
- HAPEE: addons: use GPT arrays to store regular strings
- HAPEE: makefile: automatically build objects in addons/hapee_*
- HAPEE: makefile: update the cleanup rule to also remove *.i from addons
- MINOR: haproxy: permit to register features during boot
- BUG/MEDIUM: actions: always apply a longest match on prefix lookup
2023/10/04 : 2.7r1 (1.0.0-302.939)
- MINOR: hapee: update list of backports
- BUG/MINOR: mux-quic: remove full demux flag on ncbuf release
- BUG/MEDIUM: server/cli: don't delete a dynamic server that has streams
- MINOR: pattern: fix pat_{parse,match}_ip() function comments
- BUG/MINOR: server: add missing free for server->rdr_pfx
- BUG/MAJOR: mux-h2: Report a protocol error for any DATA frame before headers
- BUG/MINOR: freq_ctr: fix possible negative rate with the scaled API
- BUG/MINOR: promex: fix backend_agg_check_status
- BUG/MEDIUM: mux-fcgi: Don't swap trash and dbuf when handling STDERR records
- BUG/MINOR: hlua/init: coroutine may not resume itself
- BUG/MEDIUM: hlua: don't pass stale nargs argument to lua_resume()
- CI: musl: drop shopt in workflow invocation
- CI: musl: highlight section if there are coredumps
- BUG/MEDIUM: connection: fix pool free regression with recent ppv2 TLV patches
- MINOR: sample: Add common TLV types as constants for fc_pp_tlv
- MINOR: sample: Refactor fc_pp_unique_id by wrapping the generic TLV fetch
- MINOR: sample: Refactor fc_pp_authority by wrapping the generic TLV fetch
- MEDIUM: sample: Add fetch for arbitrary TLVs
- MEDIUM: connection: Generic, list-based allocation and look-up of PPv2 TLVs
- CLEANUP/MINOR: connection: Improve consistency of PPv2 related constants
2023/09/29 : 2.7r1 (1.0.0-302.919)
- Revert "BUG/MEDIUM: quic: missing check of dcid for init pkt including a token"
- BUG/MEDIUM: hlua: streams don't support mixing lua-load with lua-load-per-thread
- MINOR: hlua: add hlua_stream_ctx_prepare helper function
- BUG/MINOR: quic: Wrong cluster secret initialization
- BUG/MINOR: quic: Leak of frames to send.
- BUILD: bug: make BUG_ON() void to avoid a rare warning
- MINOR: hapee: update list of backports
- MEDIUM: server/ssl: pick another thread's session when we have none yet
- MINOR: server/ssl: clear the shared good session index on failure
- MINOR: server/ssl: maintain an index of the last known valid SSL session
- MEDIUM: server/ssl: place an rwlock in the per-thread ssl server session
- MEDIUM: ssl_sock: always use the SSL's server name, not the one from the tid
- CLEANUP: ssl: keep a pointer to the server in ssl_sock_init()
- DOC: ssl: add some comments about the non-obvious session allocation stuff
- MINOR: ssl_sock: avoid iterating realloc(+1) on stored context
2023/09/08 : 2.7r1 (1.0.0-301.904)
- MINOR: ssl: add support for 'curves' keyword on server lines
2023/09/07 : 2.7r1 (1.0.0-301.903)
- MINOR: hapee: Update list of backported commit
- CI: Update to actions/checkout@v4
- BUG/MINOR: hlua/action: incorrect message on E_YIELD error
- BUG/MEDIUM: stconn/stream: Forward shutdown on write timeout
- BUG/MINOR: quic: Wrong RTT computation (srtt and rrt_var)
- BUG/MINOR: quic: Wrong RTT adjusments
- MINOR: httpclient: allow to configure the timeout.connect
- MINOR: httpclient: allow to configure the retries
- DOC: configuration: update examples for req.ver
- BUG/MEDIUM: h1-htx: Ensure chunked parsing with full output buffer
- BUG/MAJOR: quic: Really ignore malformed ACK frames.
- BUG/MINOR: quic: Possible skipped RTT sampling
- BUG/MEDIUM: stconn: Don't block sends if there is a pending shutdown
- BUG/MEDIUM: stconn: Wake applets on sending path if there is a pending shutdown
- BUG/MINOR: checks: do not queue/wake a bounced check
- BUG/MINOR: ssl/cli: can't find ".crt" files when replacing a certificate
- BUILD: import: guard plock.h against multiple inclusion
- BUG/MINOR: ssl_sock: fix possible memory leak on OOM
- DOC: lua: fix core.register_action typo
- BUG/MINOR: hlua_fcn: potentially unsafe stktable_data_ptr usage
- IMPORT: xxhash: update xxHash to version 0.8.2
- MINOR: atomic: make sure to always relax after a failed CAS
- MINOR: threads: inline the wait function for pthread_rwlock emulation
- IMPORT: plock: also support inlining the int code
- BUILD: Makefile: add the USE_QUIC option to make help
- SCRIPTS: git-show-backports: automatic ref and base detection with -m
- DOC: typo: fix sc-set-gpt references
- BUG/MINOR: stktable: allow sc-set-gpt(0) from tcp-request connection
- DEV: flags/show-sess-to-flags: properly decode fd.state
- BUG/MINOR: hlua: fix invalid use of lua_pop on error paths
- BUG/MEDIUM: quic: fix tasklet_wakeup loop on connection closing
- CI: get rid of travis-ci wrapper for Coverity scan
- MINOR: ssl: allow to change the client-sigalgs on server lines
- MINOR: ssl: allow to change the server signature algorithm on server lines
- MINOR: ssl: allow to change the signature algorithm for client authentication
- MINOR: ssl: allow to change the server signature algorithm
2023/08/17 : 2.7r1 (1.0.0-301.867)
2023/08/11 : 2.7r1 (1.0.0-300.867)
- MINOR: peers: add peers keyword registration
- BUG/MINOR: http: skip leading zeroes in content-length values
- DOC: clarify the handling of URL fragments in requests
- REGTESTS: http-rules: verify that we block '#' by default for normalize-uri
- BUG/MINOR: h3: reject more chars from the :path pseudo header
- BUG/MINOR: h2: reject more chars from the :path pseudo header
- BUG/MINOR: h1: do not accept '#' as part of the URI component
- REGTESTS: http-rules: add accept-invalid-http-request for normalize-uri tests
- MINOR: h2: pass accept-invalid-http-request down the request parser
- MINOR: http: add new function http_path_has_forbidden_char()
- MINOR: ist: add new function ist_find_range() to find a character range
- BUG/MAJOR: http: reject any empty content-length header value
- BUG/MAJOR: h3: reject header values containing invalid chars
- REORG: http: move has_forbidden_char() from h2.c to http.h
- BUG/MAJOR: http-ana: Get a fresh trash buffer for each header value replacement
- BUILD: quic: fix wrong potential NULL dereference
- BUG/MINOR: quic: reappend rxbuf buffer on fake dgram alloc error
- BUG/MEDIUM: quic: consume contig space on requeue datagram
- BUG/MEDIUM: bwlim: Reset analyse expiration date when then channel analyse ends
- BUG/MEDIUM: h3: Be sure to handle fin bit on the last DATA frame
- BUG/MINOR: chunk: fix chunk_appendf() to not write a zero if buffer is full
- DOC: configuration: describe Td in Timing events
- BUG/MEDIUM: h3: Properly report a C-L header was found to the HTX start-line
- MINOR: quic: Useless call to SSL_CTX_set_quic_method()
- MINOR: quic: Make ->set_encryption_secrets() be callable two times
- BUG/MINOR: cpuset: remove the bogus "proc" from the cpu_map struct
- BUG/MINOR: config: do not detect NUMA topology when cpu-map is configured
- MINOR: cpuset: add cpu_map_configured() to know if a cpu-map was found
- BUG/MEDIUM: listener: Acquire proxy's lock in relax_listener() if necessary
- BUG/MINOR: quic: Missing parentheses around PTO probe variable.
- BUG/MINOR: h1-htx: Return the right reason for 302 FCGI responses
- BUG/MINOR: hlua: add check for lua_newstate
- BUILD: quic: fix warning during compilation using gcc-6.5
- CI: explicitely highlight VTest result section if there's something
- CI: add naming convention documentation
- BUG/MINOR: http: Return the right reason for 302
- BUG/MINOR: sample: Fix wrong overflow detection in add/sub conveters
- DOC: config: Fix fc_src description to state the source address is returned
- BUG/MINOR: hlua: hlua_yieldk ctx argument should support pointers
- CLEANUP: quic: remove useless parameter 'key' from quic_packet_encrypt
- BUG/MEDIUM: quic: timestamp shared in token was using internal time clock
- BUG/MEDIUM: quic: missing check of dcid for init pkt including a token
- BUG/MINOR: quic: retry token remove one useless intermediate expand
- BUG/MEDIUM: quic: token IV was not computed using a strong secret
- BUG/MINOR: config: Remove final '\n' in error messages
- BUG/MINOR: sink/log: properly deinit srv in sink_new_from_logsrv()
- BUG/MINOR: sink: fix errors handling in cfg_post_parse_ring()
- BUG/MINOR: sink: invalid sft free in sink_deinit()
- BUG/MINOR: log: free errmsg on error in cfg_parse_log_forward()
- BUG/MINOR: log: fix multiple error paths in cfg_parse_log_forward()
- BUG/MINOR: log: fix missing name error message in cfg_parse_log_forward()
- BUG/MEDIUM: log: improper use of logsrv->maxlen for buffer targets
- MINOR: sink/api: pass explicit maxlen parameter to sink_write()
- BUG/MINOR: log: LF upsets maxlen for UDP targets
- BUG/MINOR: ring: maxlen warning reported as alert
- BUG/MINOR: ring: size warning incorrectly reported as fatal error
- BUG/MINOR: sink: missing sft free in sink_deinit()
- BUG/MEDIUM: sink: invalid server list in sink_new_from_logsrv()
- BUG/MINOR: cache: A 'max-age=0' cache-control directive can be overriden by a s-maxage
- BUG/MINOR: tcp_sample: bc_{dst,src} return IP not INT
- CLEANUP: quic: Remove server specific about Initial packet number space
- MINOR: quic: Reduce the maximum length of TLS secrets
- MINOR: quic: Move packet number space related functions
- MINOR: quic: Move QUIC encryption level structure definition
- BUILD: debug: avoid a build warning related to epoll_wait() in debug code
- MINOR: compression/slz: add support for a pure flush of pending bytes
- IMPORT: slz: implement a synchronous flush() operation
- BUG/MINOR: quic: Wrong endianess for version field in Retry token
- BUG/MINOR: quic: Wrong Retry paquet version field endianess
- BUG/MINOR: quic: Missing random bits in Retry packet header
- BUG/MINOR: config: fix stick table duplicate name check
- BUG/MEDIUM: quic: error checking buffer large enought to receive the retry tag
- BUG/MINOR: quic: Prevent deadlock with CID tree lock
2023/06/22 : 2.7r1 (1.0.0-300.794)
- BUG/MINOR: mworker: leak of a socketpair during startup failure
- REGTESTS: h1_host_normalization : Add a barrier to not mix up log messages
- DOC: Add tune.h2.max-frame-size option to table of contents
- BUG/MINOR: quic: ticks comparison without ticks API use
- BUG/MEDIUM: mworker: increase maxsock with each new worker
- BUG/MINOR: quic: Possible endless loop in quic_lstnr_dghdlr()
- BUG/MINOR: quic: Possible crash in quic_conn_prx_cntrs_update()
- BUG/MINOR: quic: Missing initialization (packet number space probing)
- BUG/MINOR: namespace: missing free in netns_sig_stop()
- BUG/MINOR: server: inherit from netns in srv_settings_cpy()
- BUG/MINOR: quic: Address inversion in "show quic full"
- BUG/MINOR: quic: Wrong encryption level flags checking
2023/06/14 : 2.7r1 (1.0.0-300.782)
2023/06/12 : 2.7r1 (1.0.0-299.782)
- BUG/MINOR: proxy: add missing interface bind free in free_proxy
- BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line
- DOC: config: fix jwt_verify() example using var()
- DOC: quic: fix misspelled tune.quic.socket-owner
- BUILD: init: print rlim_cur as regular integer
- MINOR: init: pre-allocate kernel data structures on init
2023/06/06 : 2.7r1 (1.0.0-298.776)
- MINOR: hapee: Update list of backported commit
- MINOR: compression: Improve the way Vary header is added
- MINOR: http_htx: add http_append_header() to append value to header
- BUG/MINOR: spoe: Only skip sending new frame after a receive attempt
- CONTRIB: Add vi file extensions to .gitignore
- BUG/MINOR: quic: Possible crash when SSL session init fails
- MINOR: quic/cli: clarify the "show quic" help message
- MINOR: quic: Add QUIC connection statistical counters values to "show quic"
- DOC: config: Fix bind/server/peer documentation in the peers section
- BUG/MINOR: mux-h2: refresh the idle_timer when the mux is empty
- CLEANUP: mux-quic: rename internal functions
- CLEANUP: mux-quic: rename functions for mux_ops
- BUG/MEDIUM: threads: fix a tiny race in thread_isolate()
- BUG/MEDIUM: mux-quic: only set EOI on FIN
- MINOR: quic: fix stats naming for flow control BLOCKED frames
- MINOR: mux-quic: remove nb_streams from qcc
- CLEANUP: mux-quic: remove unneeded fields in qcc
2023/05/31 : 2.7r1 (1.0.0-298.759)
2023/05/26 : 2.7r1 (1.0.0-297.759)
- SCRIPTS: publish-release: update the umask to keep group write access
- BUG/MINOR: hlua: unsafe hlua_lua2smp() usage
- MINOR: quic: Add a counter for sent packets
- MINOR: quic: Add some counters at QUIC connection level
- CLEANUP: quic: Useless tests in qc_rx_pkt_handle()
- CLEANUP: quic: Indentation fix quic_rx_pkt_retrieve_conn()
- MINOR: quic: Align "show quic" command help information
- BUG/MINOR: quic: Missing Retry token length on receipt
- BUG/MINOR: quic: Wrong token length check (quic_generate_retry_token())
- MINOR: quic: Add low level traces (addresses, DCID)
- BUG/MEDIUM: mux-h2: Propagate termination flags when frontend SC is created
- MINOR: mux-h2: Add a function to propagate termination flags from h2s to SE
- MINOR: mux-h2: Set H2_SF_ES_RCVD flag when decoding the HEADERS frame
- MINOR: mux-quic: report error on stream-endpoint earlier
- MINOR: mux-quic: only set EOS on RESET_STREAM recv
- MINOR: mux-quic: set both EOI EOS for stream fin
- DOC/MINOR: config: Fix typo in description for `ssl_bc` in configuration.txt
- MINOR: quic: fix alignment of oneline show quic
- BUG/MINOR: quic: handle Tx packet allocation failure properly
- MINOR: quic: use WARN_ON for encrypt failures
- MINOR: quic: remove return val of quic_aead_iv_build()
- CLEANUP: mux-quic/h3: complete BUG_ON with comments
- DOC: add size format section to manual
- CI: drop Fedora m32 pipeline in favour of cross matrix
2023/05/17 : 2.7r1 (1.0.0-297.735)
- DEV: flags/show-sess-to-flags: add support for color output
- DEV: flags/show-sess-to-flags: only retrieve hex digits from hex fields
- DEV: flags: add missing stream flags to show-sess-to-flags
- DEV: flags: add a script to decode most flags in the "show sess all" output
- MINOR: checks: make sure spread-checks is used also at boot time
- REGTESTS: log: Reduce again response inspect-delay for last_rule.vtc
- BUG/MINOR: checks: postpone the startup of health checks by the boot time
- MINOR: clock: measure the total boot time
- DOC: config: Clarify conditions to shorten the inspect-delay for TCP rules
- REGTESTS: log: Reduce response inspect-delay for last_rule.vtc
- BUG/MINOR: tcp-rules: Don't shortened the inspect-delay when EOI is set
- BUG/MEDIUM: mux-quic: fix EOI for request without payload
- MINOR: mux-quic: uninline qc_attach_sc()
- MINOR: mux-quic: properly report end-of-stream on recv
- MINOR: mux-quic: add trace to stream rcv_buf operation
- BUG/MINOR: h3: missing goto on buf alloc failure
- BUG/MINOR: mux-quic: handle properly Tx buf exhaustion
- BUG/MEDIUM: mux-h2: make sure control frames do not refresh the idle timeout
- BUG/MINOR: mux-quic: free task on qc_init() app ops failure
- BUG/MINOR: mux-quic: differentiate failure on qc_stream_desc alloc
- BUG/MINOR: quic: do not alloc buf count on alloc failure
- BUG/MINOR: mux-quic: handle properly recv ncbuf alloc failure
- BUG/MINOR: mux-quic: properly handle buf alloc failure
- MINOR: mux-quic: remove dedicated function to handle standalone FIN
- MINOR: htx: add function to set EOM reliably
- BUG/MINOR: quic: Wrong redispatch for external data on connection socket
- BUG/MINOR: log: fix memory error handling in parse_logsrv()
- BUG/MINOR: errors: handle malloc failure in usermsgs_put()
- BUG/MINOR: http_rules: fix errors paths in http_parse_redirect_rule()
- MINOR: proxy: add http_free_redirect_rule() function
- BUG/MINOR: proxy: missing free in free_proxy for redirect rules
- BUG/MEDIUM: mux-fcgi: Don't request more room if mux is waiting for more data
- MEDIUM: mux-quic: adjust transport layer error handling
- MEDIUM: quic: streamline error notification
- MINOR: mux-quic: simplify return path of qc_send()
- MINOR: mux-quic: factorize send subscribing
- MINOR: mux-quic: do not send STREAM frames if already subscribe
- MINOR: mux-quic: add traces for stream wake
- BUG/MINOR: mux-quic: no need to subscribe for detach streams
- BUG/MINOR: mux-quic: do not free frame already released by quic-conn
- BUG/MINOR: mux-quic: do not prevent shutw on error
- BUG/MINOR: quic: Buggy acknowlegments of acknowlegments function
- BUG/MEDIUM: filters: Don't deinit filters for disabled proxies during startup
- MINOR: spoe: Don't stop disabled proxies
- BUILD: mjson: Fix warning about unused variables
- BUG/MINOR: quic: Possible crash when dumping version information
- BUG/MEDIUM: mux-quic: wakeup tasklet to close on error
- BUG/MINOR: mux-quic: fix transport VS app CONNECTION_CLOSE
- DOC: configuration: add info about ssl-engine for 2.6
- BUILD: ssl: buggy -Werror=dangling-pointer since gcc 13.0
- BUG/MINOR: quic: Wrong key update cipher context initialization for encryption
- CLEANUP: quic: Typo fix for quic_connection_id pool
- CLEANUP: quic: Rename several <buf> variables in quic_frame.(c|h)
- CLEANUP: quic: No more used q_buf structure
- BUILD: thread: implement thread_harmless_end_sig() for threadless builds
- BUILD: quic: fix build warning when threads are disabled
- BUILD: debug: do not check the isolated_thread variable in non-threaded builds
- MINOR: quic: implement oneline format for "show quic"
- MINOR: quic: add format argument for "show quic"
- BUG/MINOR: debug: do not emit empty lines in thread dumps
- MINOR: mux-quic: close connection asap on local error
- MINOR: mux-quic: report local error on stream endpoint asap
- MINOR: mux-quic: adjust local error API
- MINOR: mux-quic: wake up after recv only if avail data
- MINOR: mux-quic: add trace event for local error
- BUG/MINOR: mux-quic: prevent quic_conn error code to be overwritten
- BUG/MINOR: debug: fix incorrect profiling status reporting in show threads
- DEV: haring: update readme to suggest using the same build options for haring
- DEV: haring: automatically disable DEBUG_STRICT
- BUG/MINOR: ssl/sample: x509_v_err_str converter output when not found
- MINOR: quic: use real sending rate measurement
- BUG/MINOR: resolvers: Use sc_need_room() to wait more room when dumping stats
- BUG/MEDIUM: spoe: Don't start new applet if there are enough idle ones
- BUILD: ssl: switch LibreSSL to Fastly CDN
- CI: switch to Fastly CDN to download LibreSSL
- MINOR: listener: remove the now useless LI_F_QUIC_LISTENER flag
- BUG/MINOR: tools: check libssl and libcrypto separately
- MINOR: pools: report a replaced memory allocator instead of just malloc_trim()
- BUG/MINOR: pools: restore detection of built-in allocator
- MEDIUM: tools: further relax dlopen() checks too consider grouped symbols
- MINOR: tools: relax dlopen() on malloc/free checks
- MINOR: pattern: use trim_all_pools() instead of a conditional malloc_trim()
- MINOR: pools: export trim_all_pools()
- MEDIUM: pools: move the compat code from trim_all_pools() to malloc_trim()
- MINOR: pools: intercept malloc_trim() instead of trying to plug holes
- MINOR: pools: make sure 'no-memory-trimming' is always used
- BUG/MINOR: illegal use of the malloc_trim() function if jemalloc is used
- BUG/MINOR: quic: fix race on quic_conns list during affinity rebind
- MINOR: quic: finalize affinity change as soon as possible
- MINOR: mux-quic: do not allocate Tx buf for empty STREAM frame
- MINOR: mux-quic: do not set buffer for empty STREAM frame
- BUG/MINOR: quic: prevent buggy memcpy for empty STREAM
- BUG/MEDIUM: mux-quic: improve streams fairness to prevent early timeout
- BUG/MEDIUM: mux-quic: do not emit RESET_STREAM for unknown length
- CLEANUP: quic: Rename several <buf> variables into quic_sock.c
- CLEANUP: quic: Rename <buf> variable into qc_parse_hd_form()
- CLEANUP: quic: Rename <buf> variable into quic_packet_read_long_header()
- CLEANUP: quic: Rename several <buf> variables at low level
- CLEANUP: quic: Rename quic_get_dgram_dcid() <buf> variable
- CLEANUP: quic: Make qc_build_pkt() be more readable
- CLEANUP: quic: Rename <buf> variable for several low level functions
- CLEANUP: quic: Rename <buf> variable into quic_rx_pkt_parse()
- CLEANUP: quic: Rename <buf> variable into quic_padding_check()
- CLEANUP: quic: Rename <buf> variable to <token> in quic_generate_retry_token()
- CLEANUP: quic: Remove useless parameters passes to qc_purge_tx_buf()
- CLEANUP: quic: rename frame variables
- CLEANUP: quic: rename frame types with an explicit prefix
- BUG/MINOR: quic: Useless I/O handler task wakeups (draining, killing state)
- BUG/MINOR: quic: Useless probing retransmission in draining or killing state
- BUG/MINOR: quic: Possible leak during probing retransmissions
- BUG/MINOR: quic: Possible memory leak from TX packets
- MINOR: quic: Move traces at proto level
- BUILD: proto_tcp: export the correct names for proto_tcpv[46]
- BUILD: sock_inet: forward-declare struct receiver
- BUG/MINOR: config: fix NUMA topology detection on FreeBSD
- CI: cirrus-ci: bump FreeBSD image to 13-1
- BUG/MINOR: cli: clarify error message about stats bind-process
- MINOR: listener: remove unneeded local accept flag
- MAJOR: quic: support thread balancing on accept
- MINOR: quic: properly finalize thread rebinding
- MEDIUM: quic: implement thread affinity rebinding
- MINOR: fd: implement fd_migrate_on() to migrate on a non-local thread
- MINOR: fd: add a lock bit with the tgid
- MINOR: fd: optimize fd_claim_tgid() for use in fd_insert()
- MINOR: quic: delay post handshake frames after accept
- MINOR: protocol: define new callback set_affinity
- MINOR: quic: do not proceed to accept for closing conn
- MEDIUM: quic: handle conn bootstrap/handshake on a random thread
- MINOR: quic: remove TID encoding in CID
- MEDIUM: quic: use a global CID trees list
- BUG/MINOR: server: don't use date when restoring last_change from state file
- BUG/MINOR: server: don't miss server stats update on server state transitions
- BUG/MINOR: server: don't miss proxy stats update on server state transitions
- MINOR: server: explicitly commit state change in srv_update_status()
- BUG/MINOR: server: incorrect report for tracking servers leaving drain
2023/04/21 : 2.7r1 (1.0.0-297.600)
- MINOR: hapee: Update list of backported commit
- MINOR: server/event_hdl: prepare for server event data wrapper
- MINOR: event_hdl: provide event->when for advanced handlers
- MINOR: event_hdl: dynamically allocated event data members
- CLEANUP: event_hdl: fix comment typo about _sync assertion
- CLEANUP: event_hdl: updating obsolete comment for EVENT_HDL_CB_DATA
- BUG/MINOR: event_hdl: don't waste 1 event subtype slot
- MINOR: server/event_hdl: prepare for upcoming refactors
- MINOR: server/event_hdl: add proxy_uuid to event_hdl_cb_data_server
- MINOR: proxy: add findserver_unique_id() and findserver_unique_name()
- MINOR: event_hdl: pause/resume for subscriptions
- MINOR: event_hdl: add event_hdl_async_equeue_size() function
- MINOR: event_hdl: add event_hdl_async_equeue_isempty() function
- MINOR: event_hdl: normal tasks support for advanced async mode
- BUG/MEDIUM: event_hdl: fix async data refcount issue
- BUG/MEDIUM: event_hdl: clean soft-stop handling
- MINOR: event_hdl: global sublist management clarification
- BUG/MINOR: event_hdl: make event_hdl_subscribe thread-safe
- BUG/MINOR: event_hdl: fix rid storage type
- BUG/MEDIUM: Update read expiration date on synchronous send
- BUG/MINOR: quic: consume Rx datagram even on error
- BUG/MINOR: quic: prevent crash on qc_new_conn() failure
- BUG/MINOR: h3: fix crash on h3s alloc failure
- BUG/MINOR: mux-quic: properly handle STREAM frame alloc failure
- BUG/MINOR: mux-quic: fix crash with app ops install failure
- BUG/MINOR: quic: Wrong Retry token generation timestamp computing
- BUG/MINOR: quic: Unchecked buffer length when building the token
- MINOR: quic: Do not allocate too much ack ranges
- BUG/MINOR: quic: Stop removing ACK ranges when building packets
- BUG/MINOR: cfgparse: make sure to include openssl-compat
- BUG/MEDIUM: quic: prevent crash on Retry sending
- CLEANUP: backend: Remove useless debug message in assign_server()
- BUG/MINOR: quic: transform qc_set_timer() as a reentrant function
- MINOR: quic: remove TID ref from quic_conn
- MINOR: quic: adjust quic CID derive API
- MINOR: quic: adjust Rx packet type parsing
- MINOR: quic: remove uneeded tasklet_wakeup after accept
- CLEANUP: quic: rename quic_connection_id vars
- CLEANUP: quic: remove unused qc param on stateless reset token
- CLEANUP: quic: remove unused scid_node
- CLEANUP: quic: remove unused QUIC_LOCK label
- BUG/MINOR: task: allow to use tasklet_wakeup_after with tid -1
- BUG/MEDIUM: log: Properly handle client aborts in syslog applet
- MINOR: ssl: remove OpenSSL 1.0.2 mention into certificate loading error
- BUG/MINOR: quic: Do not use ack delay during the handshakes
- REGTESTS: fix the race conditions in log_uri.vtc
- BUG/MINOR: stream: Fix test on SE_FL_ERROR on the wrong entity
- CI: bump "actions/checkout" to v3 for cross zoo matrix
- BUG/MINOR: quic: Wrong Application encryption level selection when probing
- MINOR: quic: Remove a useless test about probing in qc_prep_pkts()
- MINOR: quic: Display the packet number space flags in traces
- BUG/MINOR: quic: SIGFPE in quic_cubic_update()
- BUG/MINOR: quic: Possible wrapped values used as ACK tree purging limit.
- BUG/MEDIUM: quic: Code sanitization about acknowledgements requirements
- MINOR: quic: Add connection flags to traces
- BUG/MINOR: quic: Ignored less than 1ms RTTs
- MINOR: quic: Add packet loss and maximum cc window to "show quic"
- BUG/MEDIUM: fd: don't wait for tmask to stabilize if we're not in it.
- BUG/MINOR: stick_table: alert when type len has incorrect characters
- MINOR: activity: add a line reporting the average CPU usage to "show activity"
- MINOR: quic: Add a trace for packet with an ACK frame
- MINOR: quic: Dump more information at proto level when building packets
- MINOR: quic: Modify qc_try_rm_hp() traces
- BUG/MINOR: quic: Wrong packet number space probing before confirmed handshake
- MINOR: quic: Trace fix in quic_pto_pktns() (handshaske status)
- BUG/MEDIUM: resolvers: Force the connect timeout for DNS resolutions
- BUG/MINOR: resolvers: Wakeup DNS idle task on stopping
- BUG/MEDIUM: dns: Kill idle DNS sessions during stopping stage
- BUILD: compiler: fix __equals_1() on older compilers
- BUG/MINOR: errors: invalid use of memprintf in startup_logs_init()
- BUG/MINOR: mworker: unset more internal variables from program section
- MINOR: quic: remove address concatenation to ODCID
- MINOR: quic: remove ODCID dedicated tree
- MINOR: quic: derive first DCID from client ODCID
- BUG/MINOR: quic: Possible crashes in qc_idle_timer_task()
- BUG/MINOR: http-ana: Don't switch message to DATA when waiting for payload
- MINOR: http-ana: Add a HTTP_MSGF flag to state the Expect header was checked
- BUG/MEDIUM: hlua: prevent deadlocks with main lua lock
- MINOR: hlua: simplify lua locking
- BUG/MINOR: hlua: prevent function and table reference leaks on errors
- BUG/MINOR: hlua: fix reference leak in hlua_post_init_state()
- BUG/MINOR: hlua: fix reference leak in core.register_task()
- MINOR: hlua: add simple hlua reference handling API
- CLEANUP: hlua: fix conflicting comment in hlua_ctx_destroy()
- BUG/MINOR: hlua: enforce proper running context for register_x functions
- BUG/MINOR: hlua: hook yield does not behave as expected
- BUG/MINOR: log: free log forward proxies on deinit()
- BUG/MINOR: sink: free forward_px on deinit()
- BUG/MINOR: stats: properly handle server stats dumping resumption
- BUG/MINOR: server/del: fix srv->next pointer consistency
- MINOR: server: add SRV_F_DELETED flag
- BUG/MEDIUM: dns: Properly handle error when a response consumed
- BUG/MEDIUM: channel: Improve reports for shut in co_getblk()
- BUG/MINOR: quic: Possible wrong PTO computing
- BUILD: quic: 32bits compilation issue in cli_io_handler_dump_quic()
- BUG/MINOR: quic: Wrong idle timer expiration (during 20s)
- BUG/MINOR: quic: Unexpected connection closures upon idle timer task execution
- MINOR: quic: Add trace to debug idle timer task issues
- DOC: config: strict-sni allows to start without certificate
- MINOR: http-act: emit a warning when a header field name contains forbidden chars
- BUG/MINOR: quic: Remove useless BUG_ON() in newreno and cubic algo implementation
- BUG/MAJOR: quic: Congestion algorithms states shared between the connection
- MINOR: quic: Add missing traces in cubic algorithm implementation
- BUG/MINOR: quic: Cubic congestion control window may wrap
- BUG/MINOR: quic: Remaining useless statements in cubic slow start callback
- BUG/MINOR: quic: Wrong rtt variance computing
- MEDIUM: quic: Ack delay implementation
- MINOR: quic: Traces adjustments at proto level.
- MINOR: quic: Adjustments for generic control congestion traces
- MINOR: quic: Implement cubic state trace callback
- BUG/MINOR: quic: Missing max_idle_timeout initialization for the connection
- BUG/MINOR: quic: Wrong use of now_ms timestamps (newreno algo)
- MINOR: quic: Add recovery related information to "show quic"
- BUG/MINOR: quic: Wrong use of now_ms timestamps (cubic algo)
- BUG/MINOR: backend: make be_usable_srv() consistent when stopping
- BUG/MEDIUM: proxy/sktable: prevent watchdog trigger on soft-stop
- DOC/MINOR: reformat configuration.txt's "quoting and escaping" table
- MINOR: proxy/pool: prevent unnecessary calls to pool_gc()
- BUG/MINOR: quic: Missing padding in very short probe packets
- BUG/MEDIUM: mux-h2: Be able to detect connection error during handshake
- BUILD: da: extends CFLAGS to support API v3 from 3.1.7 and onwards.
- Revert "BUG/MEDIUM: stconn: Don't rearm the read expiration date if EOI was reached"
- BUG/MINOR: ssl: ssl-(min|max)-ver parameter not duplicated for bundles in crt-list
- BUG/MINOR: quic: Missing STREAM frame type updated
- BUG/MINOR: applet/new: fix sedesc freeing logic
- BUG/MEDIUM: mux-h1: Wakeup H1C on shutw if there is no I/O subscription
- DOC: config: set-var() dconv rendering issues
- BUG/MEDIUM: stats: Consume the request except when parsing the POST payload
- MINOR: mux-quic: close on frame alloc failure
- MINOR: mux-quic: close on qcs allocation failure
- MINOR: mux-quic: ensure CONNECTION_CLOSE is scheduled once per conn
- MINOR: mux-quic: interrupt qcc_recv*() operations if CC scheduled
- BUG/MINOR: mux-quic: prevent CC status to be erased by shutdown
- BUG/MINOR: h3: properly handle incomplete remote uni stream type
- MINOR: mux-quic: add flow-control info to minimal trace level
- MINOR: mux-quic: adjust trace level for MAX_DATA/MAX_STREAM_DATA recv
- MINOR: mux-quic: complete traces for qcs emission
- BUG/MEDIUM: mux-quic: release data from conn flow-control on qcs reset
- BUG/MINOR: trace: fix hardcoded level for TRACE_PRINTF
- BUG/MINOR: quic: ignore congestion window on probing for MUX wakeup
- BUG/MINOR: quic: wake up MUX on probing only for 01RTT
- BUG/MEDIUM: applet: only set appctx->sedesc on successful allocation
- BUG/MEDIUM: mux-h1: properly destroy a partially allocated h1s
- BUG/MINOR: stconn: fix sedesc memory leak on stream allocation failure
- BUG/MEDIUM: stconn: don't set the type before allocation succeeds
- BUG/MEDIUM: mux-h2: erase h2c->wait_event.tasklet on error path
- BUG/MEDIUM: mux-h2: do not try to free an unallocated h2s->sd
- BUG/MEDIUM: stream: do not try to free a failed stream-conn
- BUG/MINOR: quic: Dysfunctional 01RTT packet number space probing
- MINOR: quic: Stop stressing the acknowledgments process (RX ACK frames)
- MINOR: proto_ux: ability to dump ABNS names in error messages
- MEDIUM: proto_ux: properly suspend named UNIX listeners
- BUG/MEDIUM: listener/proxy: fix listeners notify for proxy resume
- MINOR: listener: pause_listener() becomes suspend_listener()
- BUG/MEDIUM: resume from LI_ASSIGNED in default_resume_listener()
- BUG/MINOR: listener: fix resume_listener() resume return value handling
- BUG/MEDIUM: listener: fix pause_listener() suspend return value handling
- MINOR: listener: make sure we don't pause/resume bypassed listeners
- MINOR: listener: workaround for closing a tiny race between resume_listener() and stopping
- MINOR: listener: add relax_listener() function
- MINOR: listener/api: add lli hint to listener functions
- MINOR: proto_uxst: add resume method
2023/03/17 : 2.7r1 (1.0.0-296.438)
- MINOR: hapee: update list of backported patches
- MINOR: ssl-sock: pass the CO_SFL_MSG_MORE info down the stack
- MINOR: mux-h2: set CO_SFL_MSG_MORE when sending multiple buffers
- MINOR: buffer: add br_count() to return the number of allocated bufs
- OPTIM: mux-h1: limit first read size to avoid wrapping
- BUG/MAJOR: qpack: fix possible read out of bounds in static table
- MINOR: doc: missing entries for sc-add-gpc()
- MINOR: stick-table: add sc-add-gpc() to http-after-response
- BUG/MINOR: sock_unix: match finalname with tempname in sock_unix_addrcmp()
- BUG/MINOR: protocol: fix minor memory leak in protocol_bind_all()
- BUG/MINOR: proto_ux: report correct error when bind_listener fails
- BUG/MEDIUM: spoe: Don't set the default traget for the SPOE agent frontend
- BUG/MINOR: mux-h2: Fix possible null pointer deref on h2c in _h2_trace_header()
- MEDIUM: mux-h2/trace: add tracing support for headers
- MINOR: h2: add h2_phdr_to_ist() to make ISTs from pseudo headers
- BUG/MEDIUM: listener: duplicate inherited FDs if needed
- BUG/MINOR: quic: Missing STREAM frame data pointer updates
- BUG/MINOR: mux-h2: set CO_SFL_STREAMER when sending lots of data
- BUG/MEDIUM: mux-h2: only restart sending when mux buffer is decongested
- MINOR: buffer: add br_single() to check if a buffer ring has more than one buf
- BUG/MINOR: mux-h2: make sure the h2c task exists before refreshing it
- BUG/MEDIUM: connection: Preserve flags when a conn is removed from an idle list
- BUG/MINOR: quic: Missing STREAM frame length updates
- BUG/MINOR: tcp_sample: fix a bug in fc_dst_port and fc_dst_is_local sample fetches
- BUG/MEDIUM: mux-h1: Don't block SE_FL_ERROR if EOS is not reported on H1C
- DEBUG: ssl-sock/show_fd: Display SSL error code
- DEBUG: cli/show_fd: Display connection error code
- BUG/MEDIUM: resolvers: Properly stop server resolutions on soft-stop
- BUG/MEDIUM: proxy: properly stop backends on soft-stop
- BUG/MINOR: mux-h1: Don't report an H1C error on client timeout
2023/03/13 : 2.7r1 (1.0.0-293.408)
- MINOR: jwt: Add support for RSA-PSS signatures (PS256 algorithm)
- BUG/MEDIUM: mux-pt: Set EOS on error on sending path if read0 was received
- MINOR: hapee: Backport an improvement about the bwlim filter
- MEDIUM: bwlim: Support constants limit or period on set-bandwidth-limit actions
2023/03/10 : 2.7r1 (1.0.0-293.404)
- DOC/CLEANUP: fix typos
- MINOR: quic_sock: un-statify quic_conn_sock_fd_iocb()
- BUG/MINOR: quic: Missing listener accept queue tasklet wakeups
- BUG/MINOR: mworker: use MASTER_MAXCONN as default maxconn value
- BUG/MAJOR: fd/threads: close a race on closing connections after takeover
- BUG/MINOR: thread: report thread and group counts in the correct order
- BUG/MINOR: init: properly detect NUMA bindings on large systems
- MINOR: quic: Do not stress the peer during retransmissions of lost packets
- MINOR: fd/cli: report the polling mask in "show fd"
- BUG/MINOR: quic: Wrong RETIRE_CONNECTION_ID sequence number check
- MEDIUM: quic: release closing connections on stopping
- MINOR: quic: handle new closing list in show quic
- MINOR: quic: create a global list dedicated for closing QUIC conns
- MINOR: h3: add traces on h3_init_uni_stream() error paths
- MINOR: quic: Add transport parameters to "show quic"
- MINOR: quic: Add spin bit support
- MINOR: quic: Useless TLS context allocations in qc_do_rm_hp()
- MINOR: quic: RETIRE_CONNECTION_ID frame handling (RX)
- MINOR: quic: Typo fix for ACK_ECN frame
- MINOR: quic: Store the next connection IDs sequence number in the connection
- MINOR: quic: Do not accept wrong active_connection_id_limit values
- BUG/MINOR: mux-quic: properly init STREAM frame as not duplicated
2023/03/07 : 2.7r1 (1.0.0-293.382)
- BUG/MAJOR: fd/thread: fix race between updates and closing FD
2023/03/06 : 2.7r1 (1.0.0-293.381)
- BUG/MEDIUM: quic: do not crash when handling STREAM on released MUX
- MINOR: quic: Send PING frames when probing Initial packet number space
- BUG/MINOR: quic: Missing detections of amplification limit reached
- BUG/MINOR: quic: Do not resend already acked frames
- BUG/MINOR: quic: Ensure not to retransmit packets with no ack-eliciting frames
- BUG/MINOR: quic: Remove force_ack for Initial,Handshake packets
- MINOR: quic: Add traces about QUIC TLS key update
- BUG/MINOR: quic: v2 Initial packets decryption failed
- BUG/MINOR: quic: Ensure to be able to build datagrams to be retransmitted
- MINOR: quic: Add a BUG_ON_HOT() call for too small datagrams
- BUG/MINOR: quic: Do not send too small datagrams (with Initial packets)
- BUG/MINOR: cli: fix CLI handler "set anon global-key" call
- BUG/MEDIUM: quic: properly handle duplicated STREAM frames
- BUG/MINOR: config: crt-list keywords mistaken for bind ssl keywords
- MINOR: ssl: rename confusing ssl_bind_kws
- BUG/MINOR: ssl: Use 'date' instead of 'now' in ocsp stapling callback
- BUG/MINOR: mxu-h1: Report a parsing error on abort with pending data
- BUG/MINOR: http-ana: Do a L7 retry on read error if there is no response
- BUG/MINOR: http-ana: Don't increment conn_retries counter before the L7 retry
- MINOR: quic: notify on send ready
- MEDIUM: quic: implement poller subscribe on sendto error
- MINOR: quic: purge txbuf before preparing new packets
- MINOR: quic: implement qc_notify_send()
- MINOR: quic: simplify return path in send functions
- BUG/MINOR: http-check: Skip C-L header for empty body when it's not mandatory
- BUG/MINOR: http-check: Don't set HTX_SL_F_BODYLESS flag with a log-format body
- BUG/MINOR: mux-h1: Don't report an error on an early response close
- BUG/MEDIUM: connection: Clear flags when a conn is removed from an idle list
- MINOR: quic: consider EBADF as critical on send()
- MEDIUM: quic: improve fatal error handling on send
- CLEANUP: listener: only store conn counts for local threads
- BUG/MEDIUM: fd: make fd_delete() support being called from a different group
- BUG/MINOR: fd: used the update list from the fd's group instead of tgid
- DOC: config: Clarify the meaning of 'hold' in the 'resolvers' section
- BUG/MEDIUM: h1-htx: Never copy more than the max data allowed during parsing
- BUG/MEDIUM: fd: avoid infinite loops in fd_add_to_fd_list and fd_rm_from_fd_list
- BUILD: thead: Fix several 32 bits compilation issues with uint64_t variables
- BUG/MINOR: ring: do not realign ring contents on resize
- BUILD: quic: 32-bits compilation issue with %zu in quic_rx_pkts_del()
- BUG/MINOR: cache: Check cache entry is complete in case of Vary
- BUG/MINOR: cache: Cache response even if request has "no-cache" directive
- REGTESTS: Fix ssl_errors.vtc script to wait for connections close
- DOC: config: Add the missing tune.fail-alloc option from global listing
- DOC: config: Fix description of options about HTTP connection modes
- BUG/MEDIUM: quic: Missing TX buffer draining from qc_send_ppkts()
- MINOR: mux-h2/traces: add a missing TRACE_LEAVE() in h2s_frt_handle_headers()
- MINOR: mux-h2/traces: do not log h2s pointer for dummy streams
- MEDIUM: quic: trigger fast connection closing on process stopping
- MINOR: quic: mark quic-conn as jobs on socket allocation
- MEDIUM: mux-quic: properly implement soft-stop
- MINOR: mux-quic: implement client-fin timeout
- MINOR: mux-quic: define qc_process()
- MINOR: mux-quic: define qc_shutdown()
- MEDIUM: h3: enforce GOAWAY by resetting higher unhandled stream
- BUG/MINOR: h3: prevent hypothetical demux failure on int overflow
- BUG/MINOR: quic: acknowledge STREAM frame even if MUX is released
- BUG/MINOR: quic: also send RESET_STREAM if MUX released
- MINOR: quic: adjust request reject when MUX is already freed
- BUG/MINOR: quic: Missing padding for short packets
- BUG/MINOR: quic: Do not drop too small datagrams with Initial packets
- BUG/MINOR: quic: Wrong initialization for io_cb_wakeup boolean
- BUG/MINOR: quic: Do not probe with too little Initial packets
- MINOR: quic: Add <pto_count> to the traces
- MINOR: quic: Add a trace to identify connections which sent Initial packet.
- BUG/MINOR: quic: Missing call to task_queue() in qc_idle_timer_do_rearm()
- MINOR: quic: Make qc_dgrams_retransmit() return a status.
- MINOR: quic: Add traces to qc_kill_conn()
- MINOR: quic: Kill the connections on ICMP (port unreachable) packet receipt
- MINOR: quic: Simplication for qc_set_timer()
- BUG/MINOR: quic: Really cancel the connection timer from qc_set_timer()
- MINOR: quic: Move code to wakeup the timer task to avoid anti-amplication deadlock
- MINOR: quic: Add new traces about by connection RX buffer handling
- BUG/MINOR: quic: Possible unexpected counter incrementation on send*() errors
- MINOR: h3: add traces on decode_qcs callback
- BUG/MINOR: mworker: prevent incorrect values in uptime
- BUG/MINOR: mux-quic: transfer FIN on empty STREAM frame
- MINOR: h3/hq-interop: handle no data in decode_qcs() with FIN set
- BUG/MEDIUM: sched: allow a bit more TASK_HEAVY to be processed when needed
- BUG/MINOR: sched: properly report long_rq when tasks remain in the queue
- BUG/MEDIUM: wdt: fix wrong thread being checked for sleeping
- BUG/MEDIUM: stconn: Don't rearm the read expiration date if EOI was reached
- BUG/MEDIUM: httpclient/lua: fix a race between lua GC and hlua_ctx_destroy
- BUG/MINOR: lua/httpclient: missing free in hlua_httpclient_send()
- MEDIUM: hapee: does not pass OPTION_LDFLAGS to modules
2023/03/02 : 2.7r1 (1.0.0-293.297)
2023/02/25 : 2.7r1 (1.0.0-292.297)
- MINOR: startup: HAPROXY_STARTUP_VERSION contains the version used to start
- BUG/MEDIUM: mworker: don't register mworker_accept_wrapper() when master FD is wrong
- BUG/MEDIUM: mworker: prevent inconsistent reload when upgrading from old versions
- BUG/MINOR: mworker: stop doing strtok directly from the env
- BUG/MINOR: quic: Wrong datagram dispatch because of qc_check_dcid()
- BUG/CRITICAL: http: properly reject empty http header field names
- DOC: proxy-protocol: fix wrong byte in provided example
- BUG/MEDIUM: quic: Buffer overflow when looking through QUIC CLI keyword list
- BUG/MINOR: clock/stats: also use start_time not start_date in HTML info
- BUG/MINOR: mworker: fix uptime for master process
- BUG/MINOR: quic: fix type bug on "show quic" for 32-bits arch
- BUG/MINOR: quic: fix filtering of closing connections on "show quic"
- MINOR: quic: filter closing conn on "show quic"
- MINOR: quic: display Tx stream info on "show quic"
- MINOR: quic: display infos about various encryption level on "show quic"
- MINOR: quic: display socket info on "show quic"
- MINOR: quic: display CIDs and state in "show quic"
- MINOR: quic: implement a basic "show quic" CLI handler
- BUG/MEDIUM: quic: fix crash when "option nolinger" is set in the frontend
- BUG/MEDIUM: stconn: Schedule a shutw on shutr if data must be sent first
- BUG/MINOR: server/add: ensure minconn/maxconn consistency when adding server
- MINOR: cfgparse/server: move (min/max)conn postparsing logic into dedicated function
- BUG/MINOR: h3: fix crash due to h3 traces
- DOC: config: 'http-send-name-header' option may be used in default section
- DOC: config: fix option spop-check proxy compatibility
- BUG/MEDIUM: cache: use the correct time reference when comparing dates
- BUG/MINOR: clock: do not mix wall-clock and monotonic time in uptime calculation
- BUG/MEDIUM: stick-table: do not leave entries in end of window during purge
- BUG/MINOR: ssl/crt-list: warn when a line is malformated
- MINOR: quic: Update version_information transport parameter to draft-14
- BUG/MEDIUM: quic: do not split STREAM frames if no space
- BUG/MINOR: quic: Unchecked source connection ID
- MEDIUM: quic: Remove qc_conn_finalize() from the ClientHello TLS callbacks
- BUG/MAJOR: quic: Possible crash when processing 1-RTT during 0-RTT session
- MINOR: quic: When probing Handshake packet number space, also probe the Initial one
- BUG/MINOR: quic: Do not ignore coalesced packets in qc_prep_fast_retrans()
- MINOR: quic: Add a trace about variable states in qc_prep_fast_retrans()
- BUG/MINOR: quic: Too big PTO during handshakes
- BUG/MINOR: quic: Possible stream truncations under heavy loss
- CLEANUP: quic: no need for atomics on packet refcnt
- MINOR: quic: add config for retransmit limit
- MEDIUM: quic: implement a retransmit limit per frame
- MINOR: quic: refactor frame deallocation
- MINOR: quic: define new functions for frame alloc
- MINOR: quic: ensure offset is properly set for STREAM frames
- MINOR: quic: remove fin from quic_stream frame type
- BUG/MINOR: stats: Prevent HTTP "other sessions" counter underflows
- MINOR: stats: add by HTTP version cumulated number of sessions and requests
- BUG/MINOR: stats: fix STAT_STARTED behavior with full htx
- BUG/MINOR: stats: fix show stats field ctx for servers
- BUG/MINOR: stats: fix ctx->field update in stats_dump_proxy_to_buffer()
- BUG/MEDIUM: stats: fix resolvers dump
- BUG/MINOR: stats: fix source buffer size for http dump
- BUG/MINOR: stats: use proper buffer size for http dump
- BUG/MINOR: h3: fix crash due to h3 traces
- BUG/MEDIUM: ssl: wrong eviction from the session cache tree
- MINOR: h3: add missing traces on closure
- BUG/MINOR: h3: reject RESET_STREAM received for control stream
- BUG/MEDIUM: h3: handle STOP_SENDING on control stream
- MINOR: mux-quic/h3: define stream close callback
- OPTIM: h3: skip buf realign if no trailer to encode
- BUG/MEDIUM: h3: do not crash if no buf space for trailers
- BUG/MINOR: fcgi-app: prevent 'use-fcgi-app' in default section
- MINOR: trace: add the long awaited TRACE_PRINTF()
- MINOR: trace: add a trace_no_cb() dummy callback for when to use no callback
- MINOR: trace: add a TRACE_ENABLED() macro to determine if a trace is active
- DEV: hpack: fix `trash` build regression
- BUG/MINOR: sink: free the forwarding task on exit
- BUG/MINOR: ring: release the backing store name on exit
- BUG/MINOR: log: release global log servers on exit
- BUG/MEDIUM: hpack: fix incorrect huffman decoding of some control chars
- BUG/MEDIUM: mux-quic: fix crash on H3 SETTINGS emission
- BUG/MINOR: h3: fix GOAWAY emission
- MINOR: mux-quic/h3: send SETTINGS as soon as transport is ready
- MINOR: connection: add a BUG_ON() to detect destroying connection in idle list
- DEV: haring: add a new option "-r" to automatically repair broken files
- BUG/MINOR: sink: make sure to always properly unmap a file-backed ring
- MEDIUM: quic-sock: fix udp source address for send on listener socket
- BUG/MINOR: quic: Do not request h3 clients to close its unidirection streams
- MINOR: hapee: add a .hapee directory to list backporting notes
- MINOR: stick-table: implement the sc-add-gpc() action
- MEDIUM: stick-table: set the track-sc limit at boottime via tune.stick-counters
- MINOR: http-rules: Add missing actions in http-after-response ruleset
- MINOR: server/event_hdl: add support for SERVER_UP and SERVER_DOWN events
- MINOR: server/event_hdl: add support for SERVER_ADD and SERVER_DEL events
- MINOR: stats: add server revision id support
- MINOR: server: add srv->rid (revision id) value
- DOC/MINOR: api: add documentation for event_hdl feature
- MINOR: event_hdl: add event handler base api
- BUG/MINOR: jwt: Wrong return value checked
- BUILD: hpack: include global.h for the trash that is needed in debug mode
- BUG/MINOR: mux-h2: add missing traces on failed headers decoding
- BUG/MINOR: mux-h2: make sure to produce a log on invalid requests
- MINOR: h3: implement TRAILERS decoding
- MINOR: h3: implement TRAILERS encoding
- MINOR: h3: extend function for QUIC varint encoding
- BUG/MINOR: h3: properly handle connection headers
- BUG/MINOR: bwlim: Fix parameters check for set-bandwidth-limit actions
- BUG/MINOR: bwlim: Check scope for period expr for set-bandwitdh-limit actions
- BUG/MEDIUM: debug/thread: make the debug handler not wait for !rdv_requests
- MINOR: threads: add a thread_harmless_end() version that doesn't wait
- BUG/MINOR: thread: always reload threads_enabled in loops
- BUG/MEDIUM: fd/threads: fix again incorrect thread selection in wakeup broadcast
- BUG/MINOR: listener: close tiny race between resume_listener() and stopping
- BUG/MINOR: ssl: Fix compilation with OpenSSL 1.0.2 (missing ECDSA_SIG_set0)
- BUG/MEDIUM: jwt: Properly process ecdsa signatures (concatenated R and S params)
- DOC: config: fix "Address formats" chapter syntax
- BUG/MINOR: mux-fcgi: Correctly set pathinfo
- MINOR: quic: Replace v2 draft definitions by those of the final 2 version
- MINOR: sample: Add "quic_enabled" sample fetch
- MINOR: quic: Add "no-quic" global option
- MINOR: quic: Disable the active connection migrations
- MINOR: quic: Useless test about datagram destination addresses
- BUG/MEDIUM: stconn: also consider SE_FL_EOI to switch to SE_FL_ERROR
- CLEANUP: stconn: always use se_fl_set_error() to set the pending error
- MINOR: listener: also support "quic+" as an address prefix
- DOC: config: mention the missing "quic4@" and "quic6@" in protocol prefixes
- DOC: config: fix aliases for protocol prefixes "udp4@" and "udp6@"
- DOC: config: fix wrong section number for "protocol prefixes"
- BUG/MINOR: listeners: fix suspend/resume of inherited FDs
- BUG/MINOR: http-ana: make set-status also update txn->status
- BUG/MEDIUM: mux-h2: Don't send CANCEL on shutw when response length is unkown
- BUG/MINOR: http-fetch: Don't block HTTP sample fetch eval in HTTP_MSG_ERROR state
- BUG/MINOR: http-ana: Report SF_FINST_R flag on error waiting the request body
- BUG/MINOR: promex: Don't forget to consume the request on error
- BUG/MEDIUM: peers: make "show peers" more careful about partial initialization
- DEV: tcploop: add minimal support for unix sockets
- BUG/MINOR: resolvers: Wait the resolution execution for a do_resolv action
- BUG/MINOR: hlua: Fix Channel.line and Channel.data behavior regarding the doc
- BUG/MINOR: h1-htx: Remove flags about protocol upgrade on non-101 responses
- MINOR: mux-quic: use send-list for immediate sending retry
- MINOR: mux-quic: use send-list for STOP_SENDING/RESET_STREAM emission
- MEDIUM: h3: send SETTINGS before STREAM frames
- MAJOR: mux-quic: rework stream sending priorization
- MINOR: mux-quic: add traces for flow-control limit reach
- BUG/MINOR: mux-quic: fix transfer of empty HTTP response
- DOC: management: add details about @system-ca in "show ssl ca-file"
- DOC: management: add details on "Used" status
- DOC: config: added optional rst-ttl argument to silent-drop in action lists
- CLEANUP: htx: fix a typo in an error message of http_str_to_htx
- BUG/MINOR: http: Memory leak of http redirect rules' format string
- BUG/MINOR: fd: avoid bad tgid assertion in fd_delete() from deinit()
- REGTEST: fix the race conditions in hmac.vtc
- REGTEST: fix the race conditions in digest.vtc
- REGTEST: fix the race conditions in add_item.vtc
- REGTEST: fix the race conditions in json_query.vtc
- BUG/MINOR: proxy: free orgto_hdr_name in free_proxy()
- DOC: config: remove duplicated "http-response sc-set-gpt0" directive
- DOC: config: fix alphabetical ordering of http-after-response rules
- BUG/MAJOR: buf: Fix copy of wrapping output data when a buffer is realigned
- BUG/MINOR: http-fetch: Only fill txn status during prefetch if not already set
- MINOR: config: add environment variables for default log format
- CI: Reformat `matrix.py` using `black`
- CI: Explicitly check environment variable against `None` in matrix.py
- CI: Unify the `GITHUB_TOKEN` name across matrix.py and vtest.yml
- CI: Use proper `if` blocks instead of conditional expressions in matrix.py
- CI: Add in-memory cache for the latest OpenSSL/LibreSSL
- CI: Improve headline in matrix.py
- BUG/MINOR: stick-table: report the correct action name in error message
- MINOR: cfgparse-ssl: avoid a possible crash on OOM in ssl_bind_parse_npn()
- BUG/MINOR: debug: don't mask the TH_FL_STUCK flag before dumping threads
- BUILD: makefile: make sure to also ignore SSL_INC when using wolfssl
- BUILD: makefile: clean the wolfssl include and lib generation rules
- BUILD: makefile: sort the features list
- BUILD: makefile: build the features list dynamically
- CI: github: use the GITHUB_TOKEN instead of a manually generated token
- BUG/MINOR: mux-quic: ignore remote unidirectional stream close
- CI: github: enable github api authentication for OpenSSL tags read
- MINOR: h3: use stream error when needed instead of connection
- MEDIUM: mux-quic: implement STOP_SENDING emission
- MINOR: mux-quic: handle RESET_STREAM reception
- MINOR: mux-quic: do not count stream flow-control if already closed
- MEDIUM: mux-quic: implement shutw
- MINOR: httpclient: don't add body when istlen is empty
- BUG/MINOR: pool/stats: Use ullong to report total pool usage in bytes in stats
- BUG/MEDIUM: mux-h2: Refuse interim responses with end-stream flag set
- BUG/MINOR: quic: do not allocate more rxbufs than necessary
- BUG/MEDIUM: quic: properly take shards into account on bind lines
- BUG/MEDIUM: mux-quic: fix double delete from qcc.opening_list
- REGTESTS: ssl: enable the ssl_reuse.vtc test for WolfSSL
- OPTIM: pool: split the read_mostly from read_write parts in pool_head
- BUG/MINOR: httpclient/log: free of invalid ptr with httpclient_log_format
- MEDIUM: httpclient: change the default log format to skip duplicate proxy data
- BUG/MEDIUM: stats: Rely on a local trash buffer to dump the stats
- BUG/MINOR:: mux-h1: Never handle error at mux level for running connection
- BUG/MINOR: mux-h1: Report EOS on parsing/internal error for not running stream
- BUG/MEDIUM: tests: use tmpdir to create UNIX socket
- REGTESTS: startup: disable automatic_maxconn.vtc
- BUG/MINOR: quic: fix crash on PTO rearm if anti-amplification reset
- BUG/MINOR: stats: fix show stat json buffer limitation
- MINOR: stats: introduce stats field ctx
- MINOR: stats: provide ctx for dumping functions
- BUG/MINOR: ssl: Fix memory leak of find_chain in ssl_sock_load_cert_chain
- MINOR: h3: check return values of htx_add_* on headers parsing
- BUG/MINOR: h3: fix memleak on HEADERS parsing failure
- BUG/MEDIUM: h3: fix cookie header parsing
- BUG/MINOR: mux-h1: Fix test instead a BUG_ON() in h1_send_error()
- BUG/MEDIUM: mux-h1: Don't release H1 stream upgraded from TCP on error
- LICENSE: wurfl: clarify the dummy library license.
- BUG/MINOR: mux-quic: handle properly alloc error in qcs_new()
- BUG/MINOR: mux-quic: remove qcs from opening-list on free
- CLEANUP: mux-quic: remove unused attribute on qcs_is_close_remote()
- BUG/MINOR: quic: handle alloc failure on qc_new_conn() for owned socket
- BUG/MINOR: quic: properly handle alloc failure in qc_new_conn()
- BUG/MINOR: quic: fix fd leak on startup check quic-conn owned socket
- MINOR: quic: reconnect quic-conn socket on address migration
- MEDIUM: quic: requeue datagrams received on wrong socket
- MINOR: mux-quic: rename duplicate function names
- MEDIUM: quic: move receive out of FD handler to quic-conn io-cb
- MEDIUM: quic: use quic-conn socket for reception
- MINOR: quic: use connection socket for emission
- MINOR: quic: allocate a socket per quic-conn
- MINOR: quic: define config option for socket per conn
- MINOR: quic: test IP_PKTINFO support for quic-conn owned socket
- MINOR: quic: startup detect for quic-conn owned socket support
- MINOR: quic: ignore address migration during handshake
- MINOR: quic: detect connection migration
- MINOR: tools: add port for ipcmp as optional criteria
- MINOR: quic: extract datagram parsing code
- MINOR: quic: complete traces in qc_rx_pkt_handle()
- MINOR: quic: remove qc from quic_rx_packet
- CI: github: split matrix for development and stable branches
- CI: github: remove redundant ASAN loop
- MINOR: debug: add a balance of alloc - free at the end of the memstats dump
- MINOR: debug: support pool filtering on "debug dev memstats"
- BUG/MEDIUM: h3: parse content-length and reject invalid messages
- MINOR: http: extract content-length parsing from H2
- BUG/MEDIUM: h3: reject request with invalid pseudo header
- BUG/MEDIUM: h3: reject request with invalid header name
- REGTESTS: startup: add alternatives values in automatic_maxconn.vtc
- BUG/MEDIUM: resolvers: Use tick_first() to update the resolvers task timeout
- BUG/MEDIUM: freq-ctr: Don't compute overshoot value for empty counters
- CLEANUP: ssl: remove check on srv->proxy
- REGTESTS: startup: activate automatic_maxconn.vtc
- CI: github: set ulimit -n to a greater value
- REGTESTS: startup: change the expected maxconn to 11000
- BUG/MINOR: startup: don't use internal proxies to compute the maxconn
- REGTESTS: startup: check maxconn computation
- REGTESTS: fix the race conditions in iff.vtc
- BUG/MAJOR: fcgi: Fix uninitialized reserved bytes
- DOC: promex: Add missing backend metrics
- MINOR: promex: introduce haproxy_backend_agg_check_status
- BUG/MINOR: promex: create haproxy_backend_agg_server_status
- MINOR: pools: make DEBUG_UAF a runtime setting
- DEBUG: pool: show a few examples in -dMhelp
- CLEANUP: pools: get rid of CONFIG_HAP_POOLS
- REORG: pool: move all the OS specific code to pool-os.h
- CLEANUP: pool: only include pool-os from pool.c not pool.h
- CLEANUP: pools: move the write before free to the uaf-only function
- BUG/MEDIUM: httpclient/lua: double LIST_DELETE on end of lua task
- BUILD: makefile/da: also clean Os/ in Device Atlas dummy lib dir
- BUILD: atomic: atomic.h may need compiler.h on ARMv8.2-a
- BUG/MINOR: init/threads: continue to limit default thread count to max per group
- BUG/MINOR: checks: restore legacy on-error fastinter behavior
- BUG/MEDIUM: mworker: create the mcli_reload socketpairs in case of upgrade
- BUG/MEDIUM: mworker: fix segv in early failure of mworker mode with peers
- MINOR: mworker: display an alert upon a wait-mode exit
- BUG/MINOR: checks: make sure fastinter is used even on forced transitions
- BUG/MEDIUM: checks: do not reschedule a possibly running task on state change
- CI: github: split ssl lib selection based on git branch
- CI: github: reintroduce openssl 1.1.1
- BUG/MEDIIM: stconn: Flush output data before forwarding close to write side
- BUG/MINOR: ssl: initialize WolfSSL before parsing
- BUG/MINOR: ssl: initialize SSL error before parsing
- BUILD: peers: peers-t.h depends on stick-table-t.h
- BUG/MINOR: hapee/modules: make sure generated includes and structs are sorted
- MINOR: hapee/modules: check if we generate the API hash correctly
- BUG/MINOR: hapee/modules: adjust include match() in gen-modules-config-h.awk
- MINOR: hapee/WURFL: transfer error status from the _wurfl_reload() function
- MINOR: hapee/WURFL: added live update database function
- MINOR: hapee/WURFL: added custom API log function
- MINOR: hapee/WURFL: added function to check correct module initialization
- BUG/MINOR: hapee/WURFL: corrected version check of used wurfl library
- BUILD: hapee/da: repaired build in case of using old DeviceAtlas library
- MINOR: hapee/da: add function that allow data reload
- MINOR: hapee/da: add spin locking
- MINOR: hapee/da: add support for loading a precompiled json data
- MEDIUM: hapee/da: Revert "MEDIUM: da: update module to handle schedule mode."
- MINOR: hapee/51d: add function that allow data reload
- BUG/MINOR: hapee/51d: add spin locking
- BUILD: hapee/51d: fix error when building with 51Degrees enabled
- BUG/MEDIUM: hapee/51d: fix a segfault on exit when 51d configuration is not loaded
- MEDIUM: hapee/51d: use fiftyoneDegreesProvider to access the pool and dataset
- BUG/MINOR: hapee/modules: initialize the module head list
- BUILD: hapee/modules: select either md5 or md5sum
- MEDIUM: hapee/modules: load the STG_REGISTER initcalls
- BUG/MINOR: hapee/modules: display detailed error message on mod_init() failure
- MINOR: hapee/modules: add a new label MODULES_LOCK to the lock_label enum
- MINOR: hapee/modules: add the ability to register variable and functions.
- MEDIUM: hapee/modules: 'modules list' on the cli shows currently loaded modules
- MINOR: hapee/modules: terminate properly loaded modules if possible
- MEDIUM: hapee/modules: add memory reservation support for the modules
- MINOR: hapee: change URLs for 2.7r1
- BUILD: hapee/modules: update HAPEE version macro to 2.7r1
- BUILD: hapee/modules: add macros to compute numerical value of a HAPEE version
- BUILD: hapee/modules: add version of the module in the defines
- MEDIUM: hapee/modules: add modules support
HAPEE-LB 2.7r1 – Changelog