Search filters

Type

Section

Actions

Changelog - HAProxy Enterprise 2.6r1

#2025/01/21 : 2.6r1 (1.0.0-299.1603)

  • BUILDquicMove an ASSUME_NONNULL() for variable which is not null
  • MINORquicAdd a BUG_ON() on quic_tx_packet refcount
  • BUG/MINORquicensure a detached coalesced packet can't access its neighbours
  • BUG/MAJORquicreject too large CRYPTO frames
  • BUG/MEDIUMstktablefix missing lock on some table converters
  • BUG/MINORquicreject NEW_TOKEN frames from clients
  • BUG/MINORstktablefix big-endian compatiblity in smp_to_stkey()

#2025/01/09 : 2.6r1 (1.0.0-299.1596)

  • MINORconfigAlert about extra arguments for errorfile and errorloc
  • BUG/MEDIUMqueueMake process_srv_queue return the number of streams
  • BUG/MEDIUMqueuesDo not use pendconn_grab_from_px().
  • BUG/MEDIUMqueuesMake sure we call process_srv_queue() when leaving
  • BUG/MEDIUMstconnDon't forward shut for SC in connecting state
  • BUG/MINORstreamunblock stream on wait-for-handshake completion
  • MINORquicnotify connection layer on handshake completion
  • BUG/MEDIUMpatternprevent uninitialized reads in pat_match_{str,beg}
  • BUG/MEDIUMmux-h1Fix how timeouts are applied on H1 connections
  • BUG/MINORserver-stateFix expiration date of srvrq_check tasks
  • BUG/MINORsignalregister default handler for SIGINT in signal_init()
  • BUG/MINORh1-htxUse default reason if not set when formatting the response
  • BUG/MEDIUMhttp-anaReset request flag about data sent to perform a L7 retry
  • BUG/MEDIUMsockRemove FD_POLL_HUP during connect() if FD_POLL_ERR is not set
  • BUG/MEDIUMhttp-anaDon't release too early the L7 buffer
  • BUG/MAJORquicfix wrong packet building due to already acked frames
  • BUG/MEDIUMh3Increase max number of headers when sending headers
  • BUG/MEDIUMh3Properly limit the number of headers received
  • BUG/MEDIUMmux-h2Check the number of headers in HEADERS frame after decoding
  • BUG/MEDIUMmux-h2Increase max number of headers when encoding HEADERS frames
  • BUG/MINORhttp-anaAdjust the server status before the L7 retries
  • DOCconfigurationexplain quotes and spaces in conditional blocks
  • DOCluafix yield-dependent methods expected contexts
  • DOCconfigSlightly improve the %Tr documentation
  • BUG/MINORhttp_anaReport -1 for %Tr for invalid response only
  • BUG/MINORpeersmake sure to always apply offsets to now_ms in expiration
  • BUG/MEDIUMmailersmake sure to always apply offsets to now_ms in expiration
  • BUG/MEDIUMchecksmake sure to always apply offsets to now_ms in expiration
  • BUG/MEDIUMmux-h2Don't send RST_STREAM frame for streams with no ID
  • BUG/MEDIUMresolversInsert a non-executed resulution in front of the wait list
  • BUG/MINORclidon't show sockpairs in HAPROXY_CLI and HAPROXY_MASTER_CLI
  • BUG/MEDIUMqueuemake sure never to queue when there's no more served conns
  • BUG/MEDIUMqueuealways dequeue the backend when redistributing the last server
  • BUG/MEDIUMstreammake stream_shutdown() async-safe
  • MINORtaskdefine two new one-shot events for use with WOKEN_OTHER or MSG
  • BUG/MEDIUMmux-ptNever fully close the connection on shutdown
  • MEDIUMh1Accept invalid T-E values with accept-invalid-http-response option
  • BUILDtcpcheckReplace lf_expr_init() by LIST_INIT
  • MINORtcpcheckAdd support for an option host header value for httpchk option

#2024/11/06 : 2.6r1 (1.0.0-299.1557)

  • CLEANUPconnectionproperly name the CO_ER_SSL_FATAL enum entry
  • MINORstreamSave last evaluated rule on invalid yield
  • BUG/MINORhttp-anaReport internal error if an action yields on a final eval
  • BUG/MINORssl/cli'set ssl cert' does not check the transaction name correctly
  • BUG/MEDIUMserverfix race on servers_list during server deletion
  • BUG/MINORserverfix dynamic server leak with check on failed init
  • BUG/MEDIUMconnection/http-reusefix address collision on unhandled address families
  • BUG/MINORmworkerfix mworker-max-reloads parser
  • BUG/MINORhttp-anaDon't report a server abort if response payload is invalid
  • BUG/MEDIUMhluaproperly handle sample func errors in hlua_run_sample_{fetch,conv}()
  • BUG/MEDIUMhluamake hlua_ctx_renew() safe
  • BUG/MEDIUMserverserver stuck in maintenance after FQDN change
  • BUG/MINORcfgparse-globalfix allowed args number for setenv
  • BUG/MEDIUMcliDeadlock when setting frontend maxconn
  • BUG/MINORcfgparse-listenfix option httpslog override warning message

#2024/09/17 : 2.6r1 (1.0.0-299.1542)

  • BUG/MEDIUMbwlimBe sure to never set the analyze expiration date in past
  • BUG/MEDIUMbwlimReset analyse expiration date when then channel analyse ends
  • MINORbwlimRemove useless test on CF_READ_ERROR to detect the last packet
  • BUG/MEDIUMpromexWait to have the request before sending the response
  • BUG/MEDIUMcache/statsWait to have the request before sending the response
  • BUG/MEDIUMqueueimplement a flag to check for the dequeuing
  • BUG/MINORpollingfix time reporting when using busy polling
  • BUG/MEDIUMpatternprevent UAF on reused pattern expr
  • BUG/MINORpatternprevent const sample from being tampered in pat_match_beg()
  • REGTESTSfix random failures with wrong_ip_port_logging.vtc under load
  • BUG/MINORpatterndo not leave a leading comma on set error messages
  • BUG/MINORpatternpat_ref_set: return 0 if err was found
  • BUG/MINORpatternpat_ref_set: fix UAF reported by coverity
  • DOCconfigcorrect the table for option tcplog
  • BUG/MINORh3properly reject too long header responses
  • BUG/MINORproto_uxstdelete fd from fdtab if listen() fails
  • BUG/MINORmux-quicdo not send too big MAX_STREAMS ID
  • REGTESTSmclitest the pipelined commands on master CLI
  • BUG/MINORproto_tcpkeep error msg if listen() fails
  • BUG/MINORproto_tcpdelete fd from fdtab if listen() fails
  • BUG/MINORquic/tracemake quic_conn_enc_level_init() emit NEW not CLOSE
  • BUG/MINORtrace/quicmake qconn selectable as a lockon criterion
  • BUG/MINORtraceautomatically start in waiting mode with "start <evt>"
  • BUG/MINORtrace/quicpermit to lock on frontend/connect/session etc
  • CLEANUPtraceremove the QUIC-specific ifdefs
  • BUG/MINORtrace/quicenable conn/session pointer recovery from quic_conn
  • BUG/MINORfcgi-apphandle a possible strdup() failure
  • BUG/MEDIUMh2Only report early HTX EOM for tunneled streams
  • BUG/MEDIUMquicprevent conn freeze on 0RTT undeciphered content
  • BUG/MEDIUMcliAlways release back endpoint between two commands on the mcli
  • BUG/MEDIUMstreamPrevent mux upgrades if client connection is no longer ready

#2024/07/31 : 2.6r1 (1.0.0-299.1511)

  • MEDIUMh1allow to preserve keep-alive on T-E + C-L
  • DOCconfigimprove the http-keep-alive section
  • DOCconfigurationissuers-chain-path not compatible with OCSP
  • DOCconfigurationupdate maxconn description
  • BUG/MEDIUMinitfix fd_hard_limit default in compute_ideal_maxconn
  • MEDIUMinitset default for fd_hard_limit via DEFAULT_MAXFD (take #2)
  • BUG/MEDIUMqueuedeal with a rare TOCTOU in assign_server_and_queue()
  • MINORqueueadd a function to check for TOCTOU after queueing
  • BUG/MINORcliAtomically inc the global request counter between CLI commands
  • BUG/MINORserverDon't warn fallback IP is used during init-addr resolution
  • BUG/MINORstick-tablefix crash for src_inc_gpc() without stkcounter
  • BUG/MEDIUMspoeBe sure to create a SPOE applet if none on the current thread
  • BUG/MEDIUMh1Reject empty Transfer-encoding header
  • BUG/MINORh1Reject empty coding name as last transfer-encoding value
  • BUG/MINORh1Fail to parse empty transfer coding names
  • BUG/MEDIUMjwtClear SSL error queue on error when checking the signature
  • BUG/MINORjwtfix variable initialisation
  • BUG/MINORjwtdon't try to load files with HMAC algorithm
  • BUG/MINORquicLack of precision when computing K (cubic only cc)
  • MINORquicAdd a counter for reordered packets
  • MINORquicAdd packet loss and maximum cc window to show quic
  • REGTESTSadd a test to ensure map-ordering is preserved
  • MINORmux-h2/tracesexplicitly show the error/refused stream states
  • MEDIUMsslinitialize the SSL stack explicitely

#2024/07/03 : 2.6r1 (1.0.0-299.1487)

  • DOCconfigurationmore details about the master-worker mode
  • BUG/MEDIUMh3ensure the :scheme pseudo header is totally valid
  • BUG/MEDIUMh3ensure the :method pseudo header is totally valid
  • BUG/MINORhluareport proper context upon error in hlua_cli_io_handler_fct()
  • BUG/MINORquicfix BUG_ON() on Tx pkt alloc failure
  • BUG/MINORmux-quicfix crash on qcs SD alloc failure
  • SCRIPTSgit-show-backportsdo not truncate git-show output
  • DOCconfigurationfix alphabetical order of bind options
  • DOCmanagementrename show stats domain cli dns to resolvers
  • DOC/MINORmanagementadd missed -dR and -dv options
  • BUG/MINORquicfix computed length of emitted STREAM frames
  • BUG/MEDIUMclifix cli_output_msg() regression
  • BUG/MINORhaproxyonly tid 0 must not sleep if got signal

#2024/06/10 : 2.6r1 (1.0.0-299.1474)

  • BUG/MEDIUMquicdon't blindly rely on unaligned accesses
  • BUG/MAJORconnectionfix server used_conns with H2 + reuse safe
  • BUG/MEDIUMhttp_anaignore NTLM for reuse aggressive/always and no H1
  • BUG/MAJORserverdo not delete srv referenced by session
  • MINORsessionrename private conns elements
  • BUG/MEDIUMquicfix connection freeze on post handshake
  • BUG/MEDIUMserverfix dynamic servers initial settings
  • BUG/MEDIUMsslwrong priority whem limiting ECDSA ciphers in ECDSA+RSA configuration
  • CLEANUPhluasimplify ambiguous lua_insert() usage in hlua_ctx_resume()
  • BUG/MINORhluafix leak in hlua_ckch_set() error path
  • BUG/MINORhluaprevent LJMP in hlua_traceback()
  • MINORhluadon't dump empty entries in hlua_traceback()
  • BUG/MINORhluafix unsafe hlua_pusherror() usage
  • BUG/MINORhluadon't use lua_pushfstring() when we don't expect LJMP
  • CLEANUPhluause hlua_pusherror() where relevant
  • BUG/MINORquicprevent crash on qc_kill_conn()
  • BUG/MINORhluause CertCache.set() from various hlua contexts
  • BUG/MINORtoolsfix possible null-deref in env_expand() on out-of-memory
  • BUG/MINORtcpcheckreport correct error in tcp-check rule parser
  • BUG/MINORcfgparseremove the correct option on httpcheck send-state warning
  • BUG/MINORactivityfix Delta_calls and Delta_bytes count
  • BUG/MINORssl/ocspinit callback func ptr as NULL
  • BUILDfderrno is also needed without poll()
  • CIscriptsfix build of vtest regarding option -C
  • REGTESTSacl_cli_spacesavoid a warning caused by undefined logs
  • DOCconfigfix incorrect section reference about custom log format
  • DOCquicspecify that connection migration is not supported
  • BUG/MINORserverDon't reset resolver options on a new default-server line
  • BUG/MINORhttp-htxSupport default path during scheme based normalization
  • BUG/MINORquicadjust restriction for stateless reset emission
  • MEDIUMconfigprevent communication with privileged ports
  • BUG/MEDIUMmux-quicCreate sedesc in same time of the QUIC stream
  • BUG/MEDIUMquic_tlsprevent LibreSSL < 4.0 from negotiating CHACHA20_POLY1305
  • BUG/MAJORquicCrash with TLS_AES_128_CCM_SHA256 (libressl only)
  • BUG/MINORconnectionparse PROXY TLV for LOCAL mode
  • CLEANUPssl/cliremove unused code in dump_crtlist_conf
  • BUG/MINORstatsDon't state the 303 redirect response is chunked
  • BUG/MINORhtpp-ana/statsSpecify that HTX redirect messages have a C-L header
  • BUG/MEDIUMfdprevent memory waste in fdtab array
  • BUILDstick-tablesbetter mark the stktable_data as 32-bit aligned
  • BUG/MEDIUMh1Reject CONNECT request if the target has a scheme
  • BUG/MINORh1Check authority for non-CONNECT methods only if a scheme is found
  • BUG/MEDIUMstick-tablesproperly mark stktable_data as packed
  • BUG/MEDIUMhtxmark htx_sl as packed since it may be realigned
  • BUG/MINORqpackfix error code reported on QPACK decoding failure
  • BUG/MINORmux-quicfix error code on shutdown for non HTTP/3
  • BUG/MINORlogsmp_rgs array issues with inherited global log directives
  • BUG/MINORlogkeep the ref in dup_logger()
  • DOCluafix filters.txt file location
  • MINORlogadd dup_logsrv() helper function
  • BUILDclockimprove check for pthread_getcpuclockid()
  • BUG/MINORmworkerreintroduce way to disable seamless reload with -x /dev/null
  • BUG/MINORh1fix detection of upper bytes in the URI
  • BUG/MINORbackenduse cum_sess counters instead of cum_conn
  • BUG/MINORfdmy_closefrom() on Linux could skip contiguous series of sockets
  • BUG/MINORsockhandle a weird condition with connect()
  • BUG/MINORstconnFix sc_mux_strm() return value
  • BUG/MEDIUMcacheVary not working properly on anything other than accept-encoding

#2024/05/03 : 2.6r1 (1.0.0-299.1416)

#2024/04/19 : 2.6r1 (1.0.0-296.1416)

  • BUG/MINORserverfix slowstart behavior
  • BUG/MEDIUMpeersFix exit condition when max-updates-at-once is reached
  • BUG/MEDIUMevportsdo not clear returned events list on signal
  • BUG/MEDIUMstconnDon't forward channel data if input data must be filtered
  • BUG/MEDIUMgrpcFix several unaligned 32/64 bits accesses
  • MINORnet_helperAdd support for floats/doubles.
  • CIrevert kernel addr randomization introduced in 3a0fc864
  • BUG/MEDIUMpeers/tracefix crash when listing event types
  • BUG/MINORdebugmake sure DEBUG_STRICT=0 does work as documented
  • BUG/MINORhttp-anaFix TX_L7_RETRY and TX_D_L7_RETRY values
  • BUG/MEDIUMhttp-anaDeliver 502 on keep-alive for fressh server connection
  • CLEANUPloglf_text_len() returns a pointer not an integer
  • BUG/MINORloginvalid snprintf() usage in sess_build_logline()
  • BUG/MINORtools/loginvalid encode_{chunk,string} usage
  • BUG/MINORlogfix lf_text_len() truncate inconsistency
  • BUG/MEDIUMcliWarn if pipelined commands are delimited by a \n
  • MINORcliRemove useless loop on commands to find unescaped semi-colon
  • MINORserverallow cookie for dynamic servers
  • BUG/MINORext-checkcannot use without preserve-env
  • MINORext-checkadd an option to preserve environment variables
  • BUG/MEDIUMquicremove unsent data from qc_stream_desc buf
  • BUG/MEDIUMmux-quicreport early error on stream
  • BUG/MEDIUMclifix once for all the problem of missing trailing LFs
  • BUG/MINORproxyfix logformat expression leak in use_backend rules

#2024/04/05 : 2.6r1 (1.0.0-296.1392)

  • BUG/MEDIUMhluastreams don't support mixing lua-load with lua-load-per-thread (2nd try)
  • MINORhluause accessors for stream hlua ctx
  • DEBUGluaprecisely identify if stream is stuck inside lua or not
  • DOCconfigRemove httpclient.timeout.connect parameter
  • BUG/MINORbackendproperly handle redispatch 0
  • BUG/MINORserverignore 'enabled' for dynamic servers
  • BUG/MINORserver'source' interface ignored from 'default-server' directive
  • BUG/MEDIUMmux-fcgiProperly handle EOM flag on end-of-trailers HTX block
  • BUG/MINORmux-quicclose all QCS before freeing QCC tasklet
  • BUG/MINORsessionensure conn owner is set after insert into session
  • BUG/MEDIUMspoeReturn an invalid frame on recv if size is too small
  • CItemporarily adjust kernel entropy to work with ASAN/clang
  • BUG/MINORspoeBe sure to be able to quickly close IDLE applets on soft-stop
  • BUG/MEDIUMspoeDon't rely on stream's expiration to detect processing timeout
  • BUG/MINORlistenerDon't schedule frontend without task in listener_release()
  • BUG/MINORlistenerWake proxy's mngmt task up if necessary on session release
  • BUG/MINORhluafix missing lock in hlua_filter_delete()
  • BUG/MINORhluamissing lock in hlua_filter_new()
  • BUG/MINORhluasegfault when loading the same filter from different contexts
  • BUG/MINORsslfix possible ctx memory leak in sample_conv_aes_gcm()
  • DOCconfigurationclarify ciphersuites usage (V2)
  • BUG/MINORcfgparsereport proper location for log-format-sd errors
  • BUG/MINORssl/clitypo in new ssl crl-file CLI description
  • BUG/MAJORhluaimproper lock usage with hlua_ctx_resume()
  • BUG/MEDIUMhluaimproper lock usage with SET_SAFE_LJMP()
  • BUG/MINORhluaimproper lock usage in hlua_filter_new()
  • BUG/MINORhluaimproper lock usage in hlua_filter_callback()
  • BUG/MINORhluafix possible crash in hlua_filter_new() under load
  • BUG/MINORhluadon't use lua_tostring() from unprotected contexts
  • BUG/MINORhluafix unsafe lua_tostring() usage with empty stack
  • BUG/MINORtoolsseed the statistical PRNG slightly better
  • MINORhluaBe able to disable logging from lua
  • BUG/MINORhluaFix log level to the right value when set via TXN:set_loglevel
  • DOCconfigurationclarify ciphersuites usage
  • BUG/MINORssl/cliduplicate cleaning code in cli_parse_del_crtlist
  • BUG/MINORistonly store NUL byte on succeeded alloc
  • BUG/MAJORserverfix stream crash due to deleted server
  • BUG/MINORstatsdrop srv refcount on early release
  • BUG/MINORistallocate nul byte on istdup
  • MINORquicwarn on bind on multiple addresses if no IP_PKTINFO support
  • BUG/MEDIUMhluaDon't loop if a lua socket does not consume received data
  • BUG/MEDIUMhluaBe able to garbage collect uninitialized lua sockets
  • BUG/MEDIUMappletImmediately free appctx on early error
  • BUG/MINORqpackreject invalid dynamic table capacity
  • BUG/MINORqpackreject invalid increment count decoding
  • BUG/MINORquicreject HANDSHAKE_DONE as server
  • BUG/MINORquicreject unknown frame type
  • BUG/MAJORpromexfix crash on deleted server
  • DEVmakefilefix POSIX compatibility for range target
  • DEVmakefileadd a new range target to iteratively build all commits
  • CIUpdate to actions/cache@v4
  • DOCinternalupdate missing data types in peers-v2.0.txt
  • DOCinstallrecommend pcre2
  • DOChttpclientadd dedicated httpclient section
  • DOCconfigurationclarify http-request wait-for-body
  • BUILDaddress a few remaining calloc(size, n) cases
  • BUG/MINORdiagrun the final diags before quitting when using -c
  • MINORquicDynamic packet reordering threshold
  • MINORquicUpdate K CUBIC calculation (RFC 9438)
  • BUG/MEDIUMquicWrong K CUBIC calculation.
  • MINORquicStop using 1024th of a second.
  • BUG/MINORquicfix possible integer wrap around in cubic window calculation
  • CLEANUPquicCode clarifications for QUIC CUBIC (RFC 9438)
  • BUG/MINORquicWrong ack ranges handling when reaching the limit.
  • BUG/MEDIUMquicfix crash on invalid qc_stream_buf_free() BUG_ON
  • BUG/MEDIUMqpackallow 6xx..9xx status codes
  • BUG/MEDIUMh3do not crash on invalid response status code
  • MINORh3add traces for stream sending function
  • MINORquicextract qc_stream_buf free in a dedicated function
  • MINORquicStop hardcoding a scale shifting value (CUBIC_BETA_SCALE_FACTOR_SHIFT)
  • CLEANUPquicRemove unused CUBIC_BETA_SCALE_FACTOR_SHIFT macro.
  • BUG/MINORh3fix checking on NULL Tx buffer
  • REGTESTSsslFix empty line in cli command input
  • BUG/MINORsslClear the ckch instance when deleting a crt-list line
  • BUG/MAJORssl_sockAlways clear retry flags in read/write functions
  • BUG/MEDIUMh1always reject the NUL character in header values
  • BUG/MEDIUMh1Don't support LF only to mark the end of a chunk size
  • BUG/MINORh1Don't support LF only at the end of chunks
  • BUG/MINORh1-htxproperly initialize the err_pos field
  • BUG/MEDIUMpoolfix rare risk of deadlock in pool_flush()
  • BUG/MINORjwtfix jwt_verify crash on 32-bit archs
  • BUG/MINORvars/clifix missing LF after get var output
  • BUG/MEDIUMclisome err/warn msg dumps add LR into CSV output on stat's CLI
  • MINORdebugmake BUG_ON() catch build errors even without DEBUG_STRICT
  • MINORdebugmake ABORT_NOW() store the caller's line number when using abort
  • MINORdebugmake sure calls to ha_crash_now() are never merged
  • MINORcompileradd a new DO_NOT_FOLD() macro to prevent code folding
  • BUG/MINORmux-quicdo not prevent non-STREAM sending on flow control
  • BUG/MEDIUMh3fix regression which completely prevents any send

#2024/01/17 : 2.6r1 (1.0.0-295.1303)

  • BUG/MEDIUMspoeNever create new spoe applet if there is no server up
  • BUG/MEDIUMstconnForward shutdown on write timeout only if it is forwardable
  • BUG/MEDIUMh3fix incorrect snd_buf return value
  • CLEANUPquicRemaining useless code into server part
  • BUG/MINORh3close connection on sending alloc errors
  • BUG/MINORh3properly handle alloc failure on finalize
  • BUG/MINORh3close connection on header list too big
  • MINORh3check connection error during sending
  • BUG/MEDIUMstatsunhandled switching rules with TCP frontend
  • MINORstatsstore the parent proxy in stats ctx (http)
  • DOCconfigUpdate documentation about local haproxy response
  • BUG/MINORresolversdefault resolvers fails when network not configured
  • BUG/MEDIUMmux-h2Report too large HEADERS frame only when rxbuf is empty
  • BUG/MINORmworker/clifix set severity-output support
  • DOCconfigurationtypo req.ssl_hello_type
  • BUG/MEDIUMproxyalways initialize the default settings after init
  • BUG/MEDIUMmworkerset the master variable earlier
  • BUG/MEDIUMconnectionreport connection errors even when no mux is installed

#2023/12/14 : 2.6r1 (1.0.0-294.1285)

  • BUG/MINORquicPossible leak of TX packets under heavy load
  • BUG/MEDIUMquicAvoid some crashes upon TX packet allocation failures
  • BUG/MINORquicPossible memory leak from TX packets
  • BUG/MEDIUMpatterndon't trim pools under lock in pat_ref_purge_range()
  • BUG/MINORcacheRemove incomplete entries from the cache when stream is closed
  • DOCClarify the differences between field() and word()
  • BUG/MINORsampleMake the `word` converter compatible with `-m found`
  • REGTESTSsampleTest the behavior of consecutive delimiters for the field converter
  • DOCconfigfix monitor-fail typo
  • DOCconfigadd matrix entry for max-session-srv-conns
  • DOCconfigspecify supported sections for max-session-srv-conns
  • BUG/MINORcfgparse-listenfix warning being reported as an alert
  • BUG/MINORconfigStopped parsing upon unmatched environment variables
  • BUG/MINORquic_tpfix preferred_address decoding
  • DOCconfigfix missing characters in set-spoe-group action
  • BUG/MINORh3always reject PUSH_PROMISE
  • BUG/MINORquicfix CONNECTION_CLOSE_APP encoding
  • DOCluafix Proxy.get_mode() output
  • DOCluaadd sticktable class reference from Proxy.stktable
  • REGTESTSconnectiondisable http_reuse_be_transparent.vtc if !TPROXY
  • DOCconfigfix timeout check inheritance restrictions
  • DOC51dupdated 51Degrees repo URL for v3.2.10
  • BUG/MINORserverdo not leak default-server in defaults sections
  • BUG/MEDIUMquicPossible crash for connections to be killed
  • BUG/MINORsockmark abns sockets as non-suspendable and always unbind them
  • BUG/MINORstartupset GTUNE_SOCKET_TRANSFER correctly
  • REGTESTShttpadd a test to validate chunked responses delivery
  • BUG/MINORproxy/stktablemissing frees on proxy cleanup
  • MINORstktableadd stktable_deinit function
  • BUG/MINORstream/clireport correct stream age in show sess
  • BUG/MEDIUMmux-fcgifail earlier on malloc in takeover()
  • BUG/MEDIUMmux-h1fail earlier on malloc in takeover()
  • BUG/MEDIUMmux-h2fail earlier on malloc in takeover()
  • BUG/MEDIUMquicfix sslconns on quic_conn alloc failure
  • BUG/MEDIUMquicfix actconn on quic_conn alloc failure
  • MEDIUMquiccount quic_conn for global sslconns
  • MEDIUMquiccount quic_conn instance for maxconn
  • BUG/MINORsinkdon't learn srv port from srv addr
  • BUG/MEDIUMquicPossible crashes when sending too short Initial packets
  • BUG/MEDIUMquicAvoid trying to send ACK frames from an empty ack ranges tree
  • BUG/MINORquicidle timer task requeued in the past
  • MINORfrontendimplement a dedicated actconn increment function
  • BUG/MINORssluse a thread-safe sslconns increment
  • BUG/MINORmux-quicfix early close if unset client timeout
  • BUG/MINORquicdo not consider idle timeout on CLOSING state
  • BUG/MINORstconnUse HTX-aware channel's functions to get info on buffer
  • BUG/MINORstconnFix streamer detection for HTX streams
  • MINORchannelAdd functions to get info on buffers and deal with HTX streams
  • MINORhtxUse a macro for overhead induced by HTX
  • BUG/MEDIUMstreamDon't call mux .ctl() callback if not implemented
  • BUG/MINORhttp-clientDon't forget to commit changes on HTX message
  • REGTESTShttpImprove script testing abortonclose option
  • BUG/MEDIUMstreamProperly handle abortonclose when set on backend only
  • MEDIUMmux-h1Handle MUX_SUBS_RECV flag in h1_ctl() and susbscribe for reads
  • MINORconnectionAdd a CTL flag to notify mux it should wait for reads again
  • BUG/MINORstconnHandle abortonclose if backend connection was already set up
  • DOCquicWrong syntax for quic-cc-algo keyword.
  • BUG/MEDIUMappletRemove appctx from buffer wait list on release
  • DOCconfiguse the word 'backend' instead of 'proxy' in 'track' description
  • DOCmanagement-q is quiet all the time
  • BUG/MEDIUMpoolfix releasable pool calculation when overloaded
  • BUG/MINORmux-h1Properly handle http-request and http-keep-alive timeouts
  • BUG/MINORstick-table/cliCheck for invalid ipv4 key
  • CLEANUPhtxProperly indent htx_reserve_max_data() function
  • BUG/MINORcfgparse/stktablefix error message on stktable_init() failure
  • BUG/MINORstktablemissing free in parse_stick_table()
  • BUG/MINORtcpcheckReport hexstring instead of binary one on check failure
  • BUG/MEDIUMsslsegfault when cipher is NULL
  • BUG/MINORsslsuboptimal certificate selection with TLSv1.3 and dual ECDSA/RSA
  • BUG/MEDIUMserverproto not working for dynamic servers
  • MINORconnectionadd conn_pr_mode_to_proto_mode() helper func
  • BUG/MINORsslload correctly @system-ca when ca-base is define
  • DOCinternalfilters: fix reference to entities.pdf

#2023/11/16 : 2.6r1 (1.0.0-294.1212)

  • BUG/MEDIUMfreq-ctrDon't report overshoot for long inactivity period
  • BUG/MINORmux-h2update tracked counters with req cnt/req err
  • BUG/MINORmux-h2commit the current stream ID even on reject
  • BUG/MEDIUMpeersFix synchro for huge number of tables
  • BUG/MEDIUMpeersBe sure to always refresh recconnect timer in sync task
  • BUG/MINORmux-h2fix http-request and http-keep-alive timeouts again
  • BUG/MEDIUMmux-h2Don't report an error on shutr if a shutw is pending
  • BUG/MINORmux-h2make up other blocked streams upon removal from list
  • BUG/MINORmux-quicfix free on qcs-new fail alloc
  • BUG/MINORh3strengthen host/authority header parsing
  • BUG/MINORmux-quicsupport initial 0 max-stream-data
  • BUG/MINORquicreject packet with no frame
  • BUG/MINORquicAvoid crashing with unsupported cryptographic algos
  • BUG/MINORhq-interopsimplify parser requirement
  • BUG/MEDIUMh1Ignore C-L value in the H1 parser if T-E is also set
  • BUG/MINORmux-h1Ignore C-L when sending H1 messages if T-E is also set
  • BUG/MEDIUMhluaInitialize appctx used by a lua socket on connect only
  • MINORhluaTest the hlua struct first when the lua socket is connecting
  • MINORhluaSave the lua socket's server in its context
  • MINORhluaSave the lua socket's timeout in its context
  • MINORhluaDon't preform operations on a not connected socket
  • MINORhluaSet context's appctx when the lua socket is created

#2023/10/17 : 2.6r1 (1.0.0-293.1190)

  • BUG/MEDIUMquic_connlet the scheduler kill the task when needed

#2023/10/16 : 2.6r1 (1.0.0-293.1189)

  • HAPEEDOCdocument the GPTSTR extensions in configuration.txt
  • HAPEERevert GPTSTR

#2023/10/06 : 2.6r1 (1.0.0-292.1187)

  • BUG/MEDIUMhapee/addonsfix incorrect gpt index being used in sc-set-gptstr()
  • HAPEEaddonsuse GPT arrays to store regular strings
  • HAPEEmakefileautomatically build objects in addons/hapee_*
  • HAPEEmakefileupdate the cleanup rule to also remove *.i from addons
  • MINORhaproxypermit to register features during boot
  • BUG/MEDIUMactionsalways apply a longest match on prefix lookup

#2023/10/04 : 2.6r1 (1.0.0-292.1181)

  • BUILDbugmake BUG_ON() void to avoid a rare warning
  • MINORhapeeUpdate list of backported commit
  • BUG/MEDIUMserver/clidon't delete a dynamic server that has streams
  • MINORpatternfix pat_{parse,match}_ip() function comments
  • BUG/MINORserveradd missing free for server->rdr_pfx
  • BUG/MAJORmux-h2Report a protocol error for any DATA frame before headers
  • BUG/MINORfreq_ctrfix possible negative rate with the scaled API
  • BUG/MINORpromexfix backend_agg_check_status
  • BUG/MEDIUMmux-fcgiDon't swap trash and dbuf when handling STDERR records
  • BUG/MINORhlua/initcoroutine may not resume itself
  • BUG/MEDIUMhluadon't pass stale nargs argument to lua_resume()
  • CImusldrop shopt in workflow invocation
  • CImuslhighlight section if there are coredumps
  • BUG/MEDIUMhluastreams don't support mixing lua-load with lua-load-per-thread
  • MINORhluaadd hlua_stream_ctx_prepare helper function
  • BUG/MINORquicWrong cluster secret initialization
  • BUG/MINORquicLeak of frames to send.
  • BUG/MEDIUMconnectionfix pool free regression with recent ppv2 TLV patches
  • MINORsampleAdd common TLV types as constants for fc_pp_tlv
  • MINORsampleRefactor fc_pp_unique_id by wrapping the generic TLV fetch
  • MINORsampleRefactor fc_pp_authority by wrapping the generic TLV fetch
  • MEDIUMsampleAdd fetch for arbitrary TLVs
  • MEDIUMconnectionGeneric, list-based allocation and look-up of PPv2 TLVs
  • CLEANUP/MINORconnectionImprove consistency of PPv2 related constants

#2023/09/27 : 2.6r1 (1.0.0-292.1156)

  • MEDIUMserver/sslpick another thread's session when we have none yet
  • MINORserver/sslclear the shared good session index on failure
  • MINORserver/sslmaintain an index of the last known valid SSL session
  • MEDIUMserver/sslplace an rwlock in the per-thread ssl server session
  • MEDIUMssl_sockalways use the SSL's server name, not the one from the tid
  • CLEANUPsslkeep a pointer to the server in ssl_sock_init()
  • DOCssladd some comments about the non-obvious session allocation stuff
  • MINORssl_sockavoid iterating realloc(+1) on stored context

#2023/09/08 : 2.6r1 (1.0.0-292.1148)

  • MINORssladd support for 'curves' keyword on server lines

#2023/09/07 : 2.6r1 (1.0.0-292.1147)

  • MINORhapeeUpdate list of backported commit
  • BUG/MINORquicWrong RTT computation (srtt and rrt_var)
  • CIUpdate to actions/checkout@v4
  • BUG/MINORhlua/actionincorrect message on E_YIELD error
  • BUG/MEDIUMstconn/streamForward shutdown on write timeout
  • BUG/MINORquicWrong RTT adjusments
  • DOCconfigurationupdate examples for req.ver
  • BUG/MEDIUMh1-htxEnsure chunked parsing with full output buffer
  • BUG/MAJORquicReally ignore malformed ACK frames.
  • BUG/MINORquicPossible skipped RTT sampling
  • BUG/MEDIUMstconnDon't block sends if there is a pending shutdown
  • BUG/MEDIUMstconnWake applets on sending path if there is a pending shutdown
  • BUG/MINORssl/clican't find .crt files when replacing a certificate
  • BUG/MINORssl_sockfix possible memory leak on OOM
  • DOCluafix core.register_action typo
  • BUG/MINORhlua_fcnpotentially unsafe stktable_data_ptr usage
  • MINORatomicmake sure to always relax after a failed CAS
  • BUILDMakefileadd the USE_QUIC option to make help
  • SCRIPTSgit-show-backportsautomatic ref and base detection with -m
  • DOCtypofix sc-set-gpt references
  • BUG/MINORstktableallow sc-set-gpt(0) from tcp-request connection
  • BUG/MINORhluafix invalid use of lua_pop on error paths
  • CIget rid of travis-ci wrapper for Coverity scan
  • MINORsslallow to change the client-sigalgs on server lines
  • MINORsslallow to change the server signature algorithm on server lines
  • MINORsslallow to change the signature algorithm for client authentication
  • MINORsslallow to change the server signature algorithm

#2023/08/11 : 2.6r1 (1.0.0-292.1120)

  • MINORpeersadd peers keyword registration
  • BUG/MINORhttpskip leading zeroes in content-length values
  • DOCclarify the handling of URL fragments in requests
  • REGTESTShttp-rulesverify that we block '#' by default for normalize-uri
  • BUG/MINORh3reject more chars from the :path pseudo header
  • BUG/MINORh2reject more chars from the :path pseudo header
  • BUG/MINORh1do not accept '#' as part of the URI component
  • REGTESTShttp-rulesadd accept-invalid-http-request for normalize-uri tests
  • MINORh2pass accept-invalid-http-request down the request parser
  • MINORhttpadd new function http_path_has_forbidden_char()
  • MINORistadd new function ist_find_range() to find a character range
  • BUG/MAJORhttpreject any empty content-length header value
  • BUG/MAJORh3reject header values containing invalid chars
  • REORGhttpmove has_forbidden_char() from h2.c to http.h
  • BUG/MAJORhttp-anaGet a fresh trash buffer for each header value replacement
  • BUG/MEDIUMh3Be sure to handle fin bit on the last DATA frame
  • BUG/MINORchunkfix chunk_appendf() to not write a zero if buffer is full
  • DOCconfigurationdescribe Td in Timing events
  • BUG/MEDIUMh3Properly report a C-L header was found to the HTX start-line
  • MINORquicUseless call to SSL_CTX_set_quic_method()
  • MINORquicMake ->set_encryption_secrets() be callable two times
  • BUG/MEDIUMlistenerAcquire proxy's lock in relax_listener() if necessary
  • BUG/MINORquicMissing parentheses around PTO probe variable.
  • BUG/MINORh1-htxReturn the right reason for 302 FCGI responses
  • BUG/MINORhluaadd check for lua_newstate
  • BUILDquicfix warning during compilation using gcc-6.5
  • CIexplicitely highlight VTest result section if there's something
  • BUG/MINORhttpReturn the right reason for 302
  • BUG/MINORsampleFix wrong overflow detection in add/sub conveters
  • DOCconfigFix fc_src description to state the source address is returned
  • BUG/MINORhluahlua_yieldk ctx argument should support pointers
  • BUG/MEDIUMquictimestamp shared in token was using internal time clock
  • BUG/MEDIUMquicmissing check of dcid for init pkt including a token
  • BUG/MINORquicretry token remove one useless intermediate expand
  • BUG/MEDIUMquictoken IV was not computed using a strong secret
  • BUG/MINORconfigRemove final '\n' in error messages
  • BUG/MINORsink/logproperly deinit srv in sink_new_from_logsrv()
  • BUG/MINORsinkfix errors handling in cfg_post_parse_ring()
  • BUG/MINORsinkinvalid sft free in sink_deinit()
  • BUG/MINORlogfree errmsg on error in cfg_parse_log_forward()
  • BUG/MINORlogfix multiple error paths in cfg_parse_log_forward()
  • BUG/MINORlogfix missing name error message in cfg_parse_log_forward()
  • BUG/MEDIUMlogimproper use of logsrv->maxlen for buffer targets
  • MINORsink/apipass explicit maxlen parameter to sink_write()
  • BUG/MINORlogLF upsets maxlen for UDP targets
  • BUG/MINORringmaxlen warning reported as alert
  • BUG/MINORringsize warning incorrectly reported as fatal error
  • BUG/MINORsinkmissing sft free in sink_deinit()
  • BUG/MEDIUMsinkinvalid server list in sink_new_from_logsrv()
  • BUG/MINORcacheA 'max-age=0' cache-control directive can be overriden by a s-maxage
  • BUG/MINORtcp_samplebc_{dst,src} return IP not INT
  • CLEANUPquicRemove server specific about Initial packet number space
  • MINORquicReduce the maximum length of TLS secrets
  • MINORquicMove packet number space related functions
  • MINORquicMove QUIC encryption level structure definition
  • BUILDdebugavoid a build warning related to epoll_wait() in debug code
  • MINORcompression/slzadd support for a pure flush of pending bytes
  • IMPORTslzimplement a synchronous flush() operation
  • BUG/MINORquicWrong endianess for version field in Retry token
  • BUG/MINORquicWrong Retry paquet version field endianess
  • BUG/MINORquicMissing random bits in Retry packet header
  • BUG/MINORconfigfix stick table duplicate name check
  • BUG/MEDIUMquicerror checking buffer large enought to receive the retry tag
  • BUG/MINORmux-h2refresh the idle_timer when the mux is empty
  • BUG/MEDIUMmux-h2make sure control frames do not refresh the idle timeout

#2023/06/22 : 2.6r1 (1.0.0-292.1055)

  • BUG/MINORmworkerleak of a socketpair during startup failure
  • REGTESTSh1_host_normalization : Add a barrier to not mix up log messages
  • DOCAdd tune.h2.max-frame-size option to table of contents
  • BUG/MINORquicticks comparison without ticks API use
  • BUG/MEDIUMmworkerincrease maxsock with each new worker
  • BUG/MINORquicMissing initialization (packet number space probing)
  • BUG/MINORnamespacemissing free in netns_sig_stop()
  • BUG/MINORserverinherit from netns in srv_settings_cpy()
  • BUG/MINORquicWrong encryption level flags checking

#2023/06/14 : 2.6r1 (1.0.0-292.1046)

#2023/06/12 : 2.6r1 (1.0.0-291.1046)

  • BUILDinitprint rlim_cur as regular integer
  • MINORinitpre-allocate kernel data structures on init
  • BUG/MINORproxyadd missing interface bind free in free_proxy
  • BUG/MINORcfgparse-tcpleak when re-declaring interface from bind line
  • DOCconfigfix jwt_verify() example using var()

#2023/06/06 : 2.6r1 (1.0.0-289.1041)

  • BUG/MINORquicPossible crash when SSL session init fails
  • BUG/MINORspoeOnly skip sending new frame after a receive attempt
  • CONTRIBAdd vi file extensions to .gitignore
  • DOCconfigFix bind/server/peer documentation in the peers section
  • BUG/MINORquicMissing Retry token length on receipt
  • BUG/MINORquicWrong token length check (quic_generate_retry_token())
  • BUG/MEDIUMmux-quicfix EOI for request without payload
  • MINORmux-quicuninline qc_attach_sc()
  • BUG/MINORmux-quichandle properly Tx buf exhaustion
  • BUG/MINORmux-quicdifferentiate failure on qc_stream_desc alloc
  • BUG/MINORquicdo not alloc buf count on alloc failure
  • BUG/MINORmux-quichandle properly recv ncbuf alloc failure
  • BUG/MINORmux-quicproperly handle buf alloc failure

#2023/05/26 : 2.6r1 (1.0.0-289.1028)

  • SCRIPTSpublish-releaseupdate the umask to keep group write access
  • BUG/MINORhluaunsafe hlua_lua2smp() usage
  • DOC/MINORconfigFix typo in description for `ssl_bc` in configuration.txt
  • DOCadd size format section to manual
  • REGTESTSlogReduce again response inspect-delay for last_rule.vtc
  • DOCconfigClarify conditions to shorten the inspect-delay for TCP rules
  • REGTESTSlogReduce response inspect-delay for last_rule.vtc
  • BUG/MINORtcp-rulesDon't shortened the inspect-delay when EOI is set

#2023/05/17 : 2.6r1 (1.0.0-289.1020)

  • BUG/MINORclockfix the boot time measurement method for 2.6 and older
  • BUG/MINORcheckspostpone the startup of health checks by the boot time
  • MINORclockmeasure the total boot time
  • MINORchecksmake sure spread-checks is used also at boot time
  • MINORhtxadd function to set EOM reliably
  • BUG/MINORlogfix memory error handling in parse_logsrv()
  • BUG/MINORerrorshandle malloc failure in usermsgs_put()
  • BUG/MINORhttp_rulesfix errors paths in http_parse_redirect_rule()
  • MINORproxyadd http_free_redirect_rule() function
  • BUG/MINORproxymissing free in free_proxy for redirect rules
  • BUG/MEDIUMmux-fcgiDon't request more room if mux is waiting for more data
  • BUG/MINORquicBuggy acknowlegments of acknowlegments function
  • BUG/MEDIUMfiltersDon't deinit filters for disabled proxies during startup
  • MINORspoeDon't stop disabled proxies
  • BUILDmjsonFix warning about unused variables
  • BUG/MINORquicPossible crash when dumping version information
  • DOCconfigurationadd info about ssl-engine for 2.6
  • BUILDsslbuggy -Werror=dangling-pointer since gcc 13.0
  • BUG/MINORquicWrong key update cipher context initialization for encryption
  • BUG/MINORdebugdo not emit empty lines in thread dumps
  • BUG/MINORmux-quicprevent quic_conn error code to be overwritten
  • DEVharingupdate readme to suggest using the same build options for haring
  • DEVharingautomatically disable DEBUG_STRICT
  • MINORquicuse real sending rate measurement
  • BUG/MINORresolversUse sc_need_room() to wait more room when dumping stats
  • BUG/MEDIUMspoeDon't start new applet if there are enough idle ones
  • BUILDsslswitch LibreSSL to Fastly CDN
  • CIswitch to Fastly CDN to download LibreSSL
  • MINORsslssl_sock_load_cert_chain() display error strings
  • BUG/MINORfdalways remove late updates when freeing fd_updt[]
  • MINORmux-quicdo not allocate Tx buf for empty STREAM frame
  • MINORmux-quicdo not set buffer for empty STREAM frame
  • BUG/MINORquicprevent buggy memcpy for empty STREAM
  • BUG/MINORquicUseless probing retransmission in draining or killing state
  • MINORquicMove traces at proto level
  • BUILDproto_tcpexport the correct names for proto_tcpv[46]
  • BUILDsock_inetforward-declare struct receiver
  • BUG/MINORconfigfix NUMA topology detection on FreeBSD
  • CIcirrus-cibump FreeBSD image to 13-1
  • BUG/MINORserverdon't use date when restoring last_change from state file
  • BUG/MINORserverdon't miss server stats update on server state transitions
  • BUG/MINORserverdon't miss proxy stats update on server state transitions
  • MINORserverexplicitly commit state change in srv_update_status()
  • BUG/MINORserverincorrect report for tracking servers leaving drain

#2023/05/16 : 2.6r1 (1.0.0-289.976)

  • BUG/MEDIUMfreq-ctrDon't compute overshoot value for empty counters

#2023/04/21 : 2.6r1 (1.0.0-289.975)

  • BUG/MEDIUMUpdate read expiration date on synchronous send
  • BUG/MINORmux-quicproperly handle STREAM frame alloc failure
  • MINORquicDisplay the packet number space flags in traces
  • MINORquicAdd <pto_count> to the traces
  • BUG/MEDIUMquicCode sanitization about acknowledgements requirements
  • BUG/MINORquicPossible crashes in qc_idle_timer_task()
  • MINORquicAdd trace to debug idle timer task issues
  • MINORquicAdd traces to qc_kill_conn()
  • BUG/MEDIUMproxy/sktableprevent watchdog trigger on soft-stop
  • BUG/MEDIUMhluaprevent deadlocks with main lua lock
  • MINORhluasimplify lua locking
  • BUG/MINORhluaprevent function and table reference leaks on errors
  • BUG/MINORhluafix reference leak in hlua_post_init_state()
  • BUG/MINORhluafix reference leak in core.register_task()
  • MINORhluaadd simple hlua reference handling API
  • MINORproto_uxability to dump ABNS names in error messages
  • MEDIUMproto_uxproperly suspend named UNIX listeners
  • BUG/MEDIUMlistener/proxyfix listeners notify for proxy resume
  • MINORlistenerpause_listener() becomes suspend_listener()
  • BUG/MEDIUMresume from LI_ASSIGNED in default_resume_listener()
  • BUG/MINORlistenerfix resume_listener() resume return value handling
  • BUG/MEDIUMlistenerfix pause_listener() suspend return value handling
  • MINORlistenermake sure we don't pause/resume bypassed listeners
  • MINORlistenerworkaround for closing a tiny race between resume_listener() and stopping
  • MINORlisteneradd relax_listener() function
  • MINORlistener/apiadd lli hint to listener functions
  • MINORproto_uxstadd resume method
  • BUG/MINORquicWrong Retry token generation timestamp computing
  • BUG/MINORquicUnchecked buffer length when building the token
  • MINORquicDo not allocate too much ack ranges
  • BUG/MINORquicStop removing ACK ranges when building packets
  • BUG/MINORcfgparsemake sure to include openssl-compat
  • CLEANUPbackendRemove useless debug message in assign_server()
  • BUG/MINORquictransform qc_set_timer() as a reentrant function
  • BUG/MINORtaskallow to use tasklet_wakeup_after with tid -1
  • BUG/MEDIUMlogProperly handle client aborts in syslog applet
  • REGTESTSfix the race conditions in log_uri.vtc
  • BUG/MINORstreamFix test on SE_FL_ERROR on the wrong entity
  • CIbump actions/checkout to v3 for cross zoo matrix
  • BUG/MINORquicWrong Application encryption level selection when probing
  • MINORquicRemove a useless test about probing in qc_prep_pkts()
  • BUG/MINORquicSIGFPE in quic_cubic_update()
  • BUG/MINORquicPossible wrapped values used as ACK tree purging limit.
  • MINORquicAdd connection flags to traces
  • BUG/MINORquicIgnored less than 1ms RTTs
  • BUG/MEDIUMfddon't wait for tmask to stabilize if we're not in it.
  • BUG/MINORstick_tablealert when type len has incorrect characters
  • MINORquicAdd a trace for packet with an ACK frame
  • MINORquicDump more information at proto level when building packets
  • MINORquicModify qc_try_rm_hp() traces
  • BUG/MINORquicWrong packet number space probing before confirmed handshake
  • MINORquicTrace fix in quic_pto_pktns() (handshaske status)
  • BUG/MEDIUMresolversForce the connect timeout for DNS resolutions
  • BUG/MINORresolversWakeup DNS idle task on stopping
  • BUG/MEDIUMdnsKill idle DNS sessions during stopping stage
  • BUG/MINORhttp-anaDon't switch message to DATA when waiting for payload
  • MINORhttp-anaAdd a HTTP_MSGF flag to state the Expect header was checked
  • CLEANUPhluafix conflicting comment in hlua_ctx_destroy()
  • BUG/MINORhluaenforce proper running context for register_x functions
  • BUG/MINORlogfree log forward proxies on deinit()
  • BUG/MINORsinkfree forward_px on deinit()
  • BUG/MINORstatsproperly handle server stats dumping resumption
  • BUG/MINORserver/delfix srv->next pointer consistency
  • MINORserveradd SRV_F_DELETED flag
  • BUG/MEDIUMdnsProperly handle error when a response consumed
  • BUG/MEDIUMchannelImprove reports for shut in co_getblk()
  • BUG/MINORquicPossible wrong PTO computing
  • DOCconfigstrict-sni allows to start without certificate
  • BUG/MINORquicRemove useless BUG_ON() in newreno and cubic algo implementation
  • BUG/MAJORquicCongestion algorithms states shared between the connection
  • BUG/MINORquicRemaining useless statements in cubic slow start callback
  • MINORquicAdd missing traces in cubic algorithm implementation
  • BUG/MINORquicCubic congestion control window may wrap
  • BUG/MINORquicWrong rtt variance computing
  • BUG/MINORquicMissing max_idle_timeout initialization for the connection
  • BUG/MINORquicWrong use of now_ms timestamps (newreno algo)
  • BUG/MINORquicWrong use of now_ms timestamps (cubic algo)
  • BUG/MINORbackendmake be_usable_srv() consistent when stopping
  • DOC/MINORreformat configuration.txt's quoting and escaping table
  • MINORproxy/poolprevent unnecessary calls to pool_gc()
  • BUILDdaextends CFLAGS to support API v3 from 3.1.7 and onwards.
  • BUG/MINORsslssl-(min|max)-ver parameter not duplicated for bundles in crt-list
  • BUG/MINORquicMissing STREAM frame type updated
  • BUG/MINORapplet/newfix sedesc freeing logic
  • BUG/MEDIUMmux-h1Wakeup H1C on shutw if there is no I/O subscription
  • DOCconfigset-var() dconv rendering issues
  • BUG/MEDIUMstatsConsume the request except when parsing the POST payload
  • BUG/MINORmux-quicprevent CC status to be erased by shutdown
  • BUG/MINORh3properly handle incomplete remote uni stream type
  • BUG/MEDIUMmux-quicrelease data from conn flow-control on qcs reset
  • BUG/MINORtracefix hardcoded level for TRACE_PRINTF
  • BUG/MINORquicwake up MUX on probing only for 01RTT
  • BUG/MEDIUMappletonly set appctx->sedesc on successful allocation
  • BUG/MEDIUMmux-h1properly destroy a partially allocated h1s
  • BUG/MINORstconnfix sedesc memory leak on stream allocation failure
  • BUG/MEDIUMstconndon't set the type before allocation succeeds
  • BUG/MEDIUMmux-h2erase h2c->wait_event.tasklet on error path
  • BUG/MEDIUMmux-h2do not try to free an unallocated h2s->sd
  • BUG/MEDIUMstreamdo not try to free a failed stream-conn
  • OPTIMmux-h1limit first read size to avoid wrapping
  • BUG/MAJORpollerdrop FD's tgid when masks don't match

#2023/03/17 : 2.6r1 (1.0.0-289.873)

  • BUG/MAJORqpackfix possible read out of bounds in static table
  • BUG/MINORsock_unixmatch finalname with tempname in sock_unix_addrcmp()
  • BUG/MINORprotocolfix minor memory leak in protocol_bind_all()
  • BUG/MINORproto_uxreport correct error when bind_listener fails
  • BUG/MEDIUMspoeDon't set the default traget for the SPOE agent frontend
  • BUG/MINORmux-h2Fix possible null pointer deref on h2c in _h2_trace_header()
  • MEDIUMmux-h2/traceadd tracing support for headers
  • MINORtraceadd the long awaited TRACE_PRINTF()
  • MINORtraceadd a trace_no_cb() dummy callback for when to use no callback
  • MINORtraceadd a TRACE_ENABLED() macro to determine if a trace is active
  • MINORh2add h2_phdr_to_ist() to make ISTs from pseudo headers
  • BUG/MEDIUMlistenerduplicate inherited FDs if needed
  • BUG/MINORquicMissing STREAM frame data pointer updates
  • BUG/MINORmux-h2set CO_SFL_STREAMER when sending lots of data
  • BUG/MEDIUMmux-h2only restart sending when mux buffer is decongested
  • MINORbufferadd br_single() to check if a buffer ring has more than one buf
  • BUG/MINORmux-h2make sure the h2c task exists before refreshing it
  • BUG/MEDIUMconnectionPreserve flags when a conn is removed from an idle list
  • BUG/MINORquicMissing STREAM frame length updates
  • BUG/MINORtcp_samplefix a bug in fc_dst_port and fc_dst_is_local sample fetches
  • DEBUGssl-sock/show_fdDisplay SSL error code
  • DEBUGcli/show_fdDisplay connection error code
  • BUG/MEDIUMresolversProperly stop server resolutions on soft-stop
  • BUG/MEDIUMproxyproperly stop backends on soft-stop

#2023/03/13 : 2.6r1 (1.0.0-288.849)

  • MINORjwtAdd support for RSA-PSS signatures (PS256 algorithm)

#2023/03/10 : 2.6r1 (1.0.0-288.848)

  • DOC/CLEANUPfix typos
  • BUG/MINORquicMissing listener accept queue tasklet wakeups
  • BUG/MINORmworkeruse MASTER_MAXCONN as default maxconn value
  • BUG/MINORmux-quicproperly init STREAM frame as not duplicated
  • BUG/MEDIUMquicdo not crash when handling STREAM on released MUX
  • BUG/MINORquicMissing detections of amplification limit reached
  • MINORquicMove code to wakeup the timer task to avoid anti-amplication deadlock
  • BUG/MINORquicDo not resend already acked frames
  • BUG/MINORquicEnsure not to retransmit packets with no ack-eliciting frames
  • BUG/MINORquicRemove force_ack for Initial,Handshake packets
  • BUG/MINORquicEnsure to be able to build datagrams to be retransmitted
  • BUG/MINORquicDo not send too small datagrams (with Initial packets)
  • BUG/MEDIUMquicproperly handle duplicated STREAM frames
  • BUG/MINORh3prevent hypothetical demux failure on int overflow
  • BUG/MINORquicacknowledge STREAM frame even if MUX is released
  • BUG/MINORquicalso send RESET_STREAM if MUX released
  • MINORquicadjust request reject when MUX is already freed
  • BUG/MINORquicMissing padding for short packets
  • BUG/MINORquicDo not drop too small datagrams with Initial packets
  • BUG/MINORquicWrong initialization for io_cb_wakeup boolean
  • BUG/MINORquicDo not probe with too little Initial packets
  • BUG/MINORquicMissing call to task_queue() in qc_idle_timer_do_rearm()
  • BUG/MINORquicReally cancel the connection timer from qc_set_timer()
  • BUG/MINORquicPossible unexpected counter incrementation on send*() errors
  • BUG/MINORmux-quictransfer FIN on empty STREAM frame
  • MINORh3/hq-interophandle no data in decode_qcs() with FIN set
  • BUG/MAJORfd/threadsclose a race on closing connections after takeover
  • BUG/MAJORfd/threadfix race between updates and closing FD
  • MEDIUMfdsupport broadcasting updates for foreign groups in updt_fd_polling
  • MAJORpolleronly touch/inspect the update_mask under tgid protection
  • MEDIUMfdquit fd_update_events() when FD is closed
  • BUG/MINORfdProperly init the fd state in fd_insert()
  • MEDIUMfdmake fd_insert/fd_delete atomically update fd.tgid
  • MINORfdmake fd_clr_running() return the previous value instead
  • MAJORfdgrab the tgid before manipulating running
  • MINORfdadd fd_get_running() to atomically return the running mask
  • MINORfdadd functions to manipulate the FD's tgid
  • MINORcli/fdshow fd's tgid and refcount in show fd
  • MEDIUMfdadd the tgid to the fd and pass it to fd_insert()
  • MINORfddelete unused updates on close()
  • MAJORfdremove pending updates upon real close
  • MEDIUMpollerprogram the update in fd_update_events() for a migrated FD
  • MEDIUMepolldon't synchronously delete migrated FDs
  • BUG/MINORringrelease the backing store name on exit
  • BUG/MINORthreadreport thread and group counts in the correct order
  • BUG/MINORinitmake sure to always limit the total number of threads
  • BUG/MEDIUMmasterforce the thread count earlier
  • BUG/MINORinitproperly detect NUMA bindings on large systems
  • BUG/MINORconfigcrt-list keywords mistaken for bind ssl keywords
  • MINORsslrename confusing ssl_bind_kws
  • BUG/MINORsslUse 'date' instead of 'now' in ocsp stapling callback
  • BUG/MINORhttp-anaDo a L7 retry on read error if there is no response
  • BUG/MINORhttp-anaDon't increment conn_retries counter before the L7 retry
  • BUG/MINORhttp-checkSkip C-L header for empty body when it's not mandatory
  • BUG/MINORhttp-checkDon't set HTX_SL_F_BODYLESS flag with a log-format body
  • BUG/MEDIUMconnectionClear flags when a conn is removed from an idle list
  • DOCconfigClarify the meaning of 'hold' in the 'resolvers' section
  • DOCconfigAdd the missing tune.fail-alloc option from global listing
  • DOCconfigFix description of options about HTTP connection modes
  • BUG/MEDIUMh1-htxNever copy more than the max data allowed during parsing
  • BUILDtheadFix several 32 bits compilation issues with uint64_t variables
  • BUG/MINORringdo not realign ring contents on resize
  • BUG/MINORcacheCheck cache entry is complete in case of Vary
  • BUG/MINORcacheCache response even if request has no-cache directive
  • REGTESTSFix ssl_errors.vtc script to wait for connections close
  • MINORmux-h2/tracesadd a missing TRACE_LEAVE() in h2s_frt_handle_headers()
  • MINORmux-h2/tracesdo not log h2s pointer for dummy streams
  • BUG/MINORmworkerprevent incorrect values in uptime
  • BUG/MEDIUMschedallow a bit more TASK_HEAVY to be processed when needed
  • BUG/MINORschedproperly report long_rq when tasks remain in the queue
  • BUG/MEDIUMstconnDon't rearm the read expiration date if EOI was reached
  • MINORfd/clireport the polling mask in show fd
  • BUG/MEDIUMhttpclient/luafix a race between lua GC and hlua_ctx_destroy
  • BUG/MINORlua/httpclientmissing free in hlua_httpclient_send()
  • MINORstartupHAPROXY_STARTUP_VERSION contains the version used to start

#2023/02/21 : 2.6r1 (1.0.0-288.773)

  • BUG/MEDIUMmworkerdon't register mworker_accept_wrapper() when master FD is wrong
  • BUG/MEDIUMmworkerprevent inconsistent reload when upgrading from old versions
  • BUG/MINORmworkerstop doing strtok directly from the env

#2023/02/13 : 2.6r1 (1.0.0-288.770)

  • BUG/CRITICALhttpproperly reject empty http header field names
  • DOCproxy-protocolfix wrong byte in provided example
  • BUG/MEDIUMquicfix crash when option nolinger is set in the frontend
  • BUG/MEDIUMstconnSchedule a shutw on shutr if data must be sent first
  • BUG/MINORserver/addensure minconn/maxconn consistency when adding server
  • MINORcfgparse/servermove (min/max)conn postparsing logic into dedicated function
  • DOCconfig'http-send-name-header' option may be used in default section
  • DOCconfigfix option spop-check proxy compatibility
  • BUG/MEDIUMcacheuse the correct time reference when comparing dates
  • BUG/MEDIUMstick-tabledo not leave entries in end of window during purge
  • BUG/MINORssl/crt-listwarn when a line is malformated
  • BUG/MEDIUMquicdo not split STREAM frames if no space
  • BUG/MINORquicUnchecked source connection ID
  • MEDIUMquicRemove qc_conn_finalize() from the ClientHello TLS callbacks
  • BUG/MAJORquicPossible crash when processing 1-RTT during 0-RTT session
  • MINORquicWhen probing Handshake packet number space, also probe the Initial one
  • BUG/MINORquicDo not ignore coalesced packets in qc_prep_fast_retrans()
  • BUG/MINORquicToo big PTO during handshakes
  • BUG/MINORquicPossible stream truncations under heavy loss
  • BUG/MINORstatsfix STAT_STARTED behavior with full htx
  • BUG/MINORstatsfix show stats field ctx for servers
  • BUG/MINORstatsfix ctx->field update in stats_dump_proxy_to_buffer()
  • BUG/MEDIUMstatsfix resolvers dump
  • BUG/MINORstatsfix source buffer size for http dump
  • BUG/MINORstatsuse proper buffer size for http dump
  • BUG/MINORh3fix crash due to h3 traces
  • BUG/MEDIUMsslwrong eviction from the session cache tree
  • BUG/MEDIUMh3handle STOP_SENDING on control stream
  • MINORmux-quic/h3define stream close callback
  • BUG/MINORfcgi-appprevent 'use-fcgi-app' in default section
  • DEVhpackfix `trash` build regression
  • BUG/MINORsinkfree the forwarding task on exit
  • BUG/MINORlogrelease global log servers on exit
  • DEVharingadd a new option -r to automatically repair broken files
  • BUG/MINORsinkmake sure to always properly unmap a file-backed ring
  • BUG/MINORhttp-htxNormalized absolute URIs with an empty port
  • REG-TESTShttpAdd more tests about authority/host matching
  • BUG/MINORh1Replace authority validation to conform RFC3986
  • MINORhttpConsidere empty ports as valid default ports
  • MINORh1Consider empty port as invalid in authority for CONNECT
  • BUG/MINORquicDo not request h3 clients to close its unidirection streams
  • CIgithubsplit ssl lib selection based on git branch
  • CIgithubreintroduce openssl 1.1.1

#2023/02/08 : 2.6r1 (1.0.0-287.727)

#2023/01/24 : 2.6r1 (1.0.0-285.727)

  • BUILDatomicatomic.h may need compiler.h on ARMv8.2-a

#2023/01/21 : 2.6r1 (1.0.0-285.726)

  • MINORhapeeUpdate the list of backported commits
  • MINORstick-tableimplement the sc-add-gpc() action
  • MEDIUMstick-tableset the track-sc limit at boottime via tune.stick-counters
  • MINORhttp-rulesAdd missing actions in http-after-response ruleset
  • BUG/MINORbwlimFix parameters check for set-bandwidth-limit actions
  • MEDIUMbwlimSupport constants limit or period on set-bandwidth-limit actions
  • BUG/MINORbwlimCheck scope for period expr for set-bandwitdh-limit actions
  • BUG/MINORjwtWrong return value checked
  • BUILDhpackinclude global.h for the trash that is needed in debug mode
  • BUG/MINORmux-h2add missing traces on failed headers decoding
  • BUG/MINORmux-h2make sure to produce a log on invalid requests
  • BUG/MINORh3properly handle connection headers
  • BUG/MINORlistenerclose tiny race between resume_listener() and stopping
  • BUG/MINORsslFix compilation with OpenSSL 1.0.2 (missing ECDSA_SIG_set0)
  • BUG/MEDIUMjwtProperly process ecdsa signatures (concatenated R and S params)
  • DOCconfigfix Address formats chapter syntax
  • BUG/MINORmux-fcgiCorrectly set pathinfo
  • DOCconfigmention the missing quic4@ and quic6@ in protocol prefixes
  • DOCconfigfix aliases for protocol prefixes udp4@ and udp6@
  • DOCconfigfix wrong section number for protocol prefixes
  • BUG/MINORlistenersfix suspend/resume of inherited FDs
  • BUG/MINORhttp-anamake set-status also update txn->status
  • BUG/MINORhttp-fetchDon't block HTTP sample fetch eval in HTTP_MSG_ERROR state
  • BUG/MINORhttp-anaReport SF_FINST_R flag on error waiting the request body
  • BUG/MINORpromexDon't forget to consume the request on error
  • BUG/MEDIUMpeersmake show peers more careful about partial initialization
  • BUG/MINORresolversWait the resolution execution for a do_resolv action
  • BUG/MINORhluaFix Channel.line and Channel.data behavior regarding the doc
  • BUG/MINORh1-htxRemove flags about protocol upgrade on non-101 responses
  • MINORmux-quicadd traces for flow-control limit reach
  • BUG/MINORmux-quicfix transfer of empty HTTP response
  • DOCmanagementadd details about @system-ca in show ssl ca-file
  • DOCmanagementadd details on Used status
  • CLEANUPhtxfix a typo in an error message of http_str_to_htx
  • BUG/MINORhttpMemory leak of http redirect rules' format string
  • REGTESTfix the race conditions in hmac.vtc
  • REGTESTfix the race conditions in digest.vtc
  • REGTESTfix the race conditions in add_item.vtc
  • REGTESTfix the race conditions in json_query.vtc
  • BUG/MINORproxyfree orgto_hdr_name in free_proxy()
  • DOCconfigremove duplicated http-response sc-set-gpt0 directive
  • DOCconfigfix alphabetical ordering of http-after-response rules
  • BUG/MAJORbufFix copy of wrapping output data when a buffer is realigned
  • BUG/MINORhttp-fetchOnly fill txn status during prefetch if not already set
  • BUG/MINORstick-tablereport the correct action name in error message
  • BUILDmakefilesort the features list
  • BUILDmakefilebuild the features list dynamically
  • BUG/MINORmux-quicignore remote unidirectional stream close
  • BUG/MINORpool/statsUse ullong to report total pool usage in bytes in stats
  • BUG/MEDIUMmux-h2Refuse interim responses with end-stream flag set
  • BUG/MEDIUMmux-quicfix double delete from qcc.opening_list
  • OPTIMpoolsplit the read_mostly from read_write parts in pool_head
  • BUG/MEDIUMstatsRely on a local trash buffer to dump the stats
  • BUG/MEDIUMtestsuse tmpdir to create UNIX socket
  • REGTESTSstartupdisable automatic_maxconn.vtc
  • BUG/MINORquicfix crash on PTO rearm if anti-amplification reset
  • BUG/MINORstatsfix show stat json buffer limitation
  • MINORstatsintroduce stats field ctx
  • MINORstatsprovide ctx for dumping functions
  • BUG/MINORsslFix memory leak of find_chain in ssl_sock_load_cert_chain
  • BUG/MINORh3fix memleak on HEADERS parsing failure
  • BUG/MEDIUMh3fix cookie header parsing
  • LICENSEwurflclarify the dummy library license.
  • BUG/MINORmux-quichandle properly alloc error in qcs_new()
  • BUG/MINORmux-quicremove qcs from opening-list on free
  • BUG/MINORquicproperly handle alloc failure in qc_new_conn()
  • CIgithubsplit matrix for development and stable branches
  • CIgithubremove redundant ASAN loop
  • BUG/MEDIUMh3parse content-length and reject invalid messages
  • MINORhttpextract content-length parsing from H2
  • BUG/MEDIUMh3reject request with invalid pseudo header
  • BUG/MEDIUMh3reject request with invalid header name
  • REGTESTSstartupadd alternatives values in automatic_maxconn.vtc
  • REGTESTSstartupchange the expected maxconn to 11000
  • BUG/MEDIUMresolversUse tick_first() to update the resolvers task timeout
  • REGTESTSstartupactivate automatic_maxconn.vtc
  • CIgithubset ulimit -n to a greater value
  • BUG/MINORstartupdon't use internal proxies to compute the maxconn
  • REGTESTSstartupcheck maxconn computation
  • REGTESTSfix the race conditions in iff.vtc
  • BUG/MAJORfcgiFix uninitialized reserved bytes
  • DOCpromexAdd missing backend metrics
  • MINORpromexintroduce haproxy_backend_agg_check_status
  • BUG/MINORpromexcreate haproxy_backend_agg_server_status
  • BUG/MEDIUMhttpclient/luadouble LIST_DELETE on end of lua task
  • BUILDmakefile/daalso clean Os/ in Device Atlas dummy lib dir
  • BUG/MEDIUMmworkerfix segv in early failure of mworker mode with peers
  • MINORmworkerdisplay an alert upon a wait-mode exit
  • BUG/MINORsslFix potential overflow
  • BUG/MEDIUMsslVerify error codes can exceed 63

#2022/12/27 : 2.6r1 (1.0.0-284.636)

#2022/12/16 : 2.6r1 (1.0.0-283.636)

  • BUILDpeerspeers-t.h depends on stick-table-t.h
  • BUG/MINORhapee/modulesmake sure generated includes and structs are sorted
  • MINORhapee/modulescheck if we generate the API hash correctly

#2022/12/15 : 2.6r1 (1.0.0-283.633)

  • BUG/MINORhapee/modulesadjust include match() in gen-modules-config-h.awk

#2022/12/06 : 2.6r1 (1.0.0-283.632)

  • BUG/MEDIIMstconnFlush output data before forwarding close to write side
  • MINORmux-h1add the expire task and its expiration date in show fd
  • MINORmux-h2add the expire task and its expiration date in show fd
  • BUG/MINORquicEndless loop during retransmissions
  • CLEANUPncbufuse standard BUG_ON with DEBUG_STRICT
  • CLEANUPncbufinline small functions
  • CLEANUPncbufremove ncb_blk args by value
  • SCRIPTSannounce-releaseadd a link to the data plane API
  • DOCconfigclarify the -m dir and -m dom pattern matching methods
  • DOCconfigclarify the fact that retries is not just for connections
  • DOCconfigexplain how default matching method for ACL works
  • DOCconfigmention that a single monitor-uri rule is supported
  • DOCconfigclarify the fact that SNI should not be used in HTTP scenarios
  • DOCconfigrefer to section about quoting in the add_item converter
  • DOCconfigprovide some configuration hints for http-reuse

#2022/11/29 : 2.6r1 (1.0.0-283.616)

  • BUG/MEDIUMquicfix datagram dropping on queueing failed
  • DOCconfiguration.txtfix typo in table_idle signature
  • BUG/MINORmux-h1Fix handling of 408-Request-Time-Out
  • BUILDssl-sockSilent error about NULL deref in ssl_sock_bind_verifycbk()
  • DOCconfiguration.txtadd default_value for table_idle signature
  • BUILDhttp-htxSilent build error about a possible NULL start-line
  • BUG/MINORhttp-htxDon't consider an URI as normalized after a set-uri action
  • BUG/MINORlogfix parse_log_message rfc5424 size check
  • BUG/MINORcfgparse-listenfix ebpt_next_dup pointer dereference on proxy from inheritance
  • DOCquicadd note on performance issue with listener contention
  • BUILDlistenerfix build warning on global_listener_rwlock without threads
  • BUG/MINORserver/idleat least use atomic stores when updating max_used_conns
  • MINORglobalgenerate random cluster.secret if not defined
  • MINORquicreport error if force-retry without cluster-secret
  • DOCconfigurationfix quic prefix typo
  • BUG/MAJORquicCrash after discarding packet number spaces
  • BUG/MAJORquicCrash upon retransmission of dgrams with several packets
  • MINORquiccomplete traces/debug for handshake
  • BUG/MEDIUMquicfix memleak for out-of-order crypto data
  • BUG/MEDIUMquicfix unsuccessful handshakes on ncb_advance error
  • MINORncbufcomplete doc for ncb_advance()
  • BUILDpeersRemove unused variables
  • BUG/MEDIUMpeersmessages about unkown tables not correctly ignored
  • BUG/MINORssldon't initialize the keylog callback when not required
  • BUG/MEDIUMraw-sockDon't report connection error if something was received
  • BUG/MINORhttp_ana/txndon't re-initialize txn and req var lists
  • BUG/MEDIUMlistenerFix race condition when updating the global mngmt task
  • BUG/MINORpool/cliuse ullong to report total pool usage in bytes
  • BUILDquicfix dubious 0-byte overflow on qc_release_lost_pkts
  • BUG/MEDIUMringfix creation of server in uninitialized ring
  • DOCconfigfix alphabetical ordering of global section
  • REG-TESTScacheRemove T-E header for 304-Not-Modified responses
  • BUG/MINORmux-h1Do not send a last null chunk on body-less answers
  • BUG/MEDIUMmux-fcgiAvoid value length overflow when it doesn't fit at once
  • BUG/MINORmux-fcgiBe sure to send empty STDING record in case of zero-copy
  • BUG/MINORresolversSet port before IP address when processing SRV records
  • BUG/MINORresolversDon't wait periodic resolution on healthcheck failure
  • BUG/MINORhttp-htxFix error handling during parsing http replies
  • BUG/MEDIUMwdt/clockproperly handle early task hangs
  • CIemit the compiler's version in the build reports
  • CIenable QUIC for LibreSSL builds
  • CIswitch to the latest LibreSSL
  • BUG/MINORsslocsp structure not freed properly in case of error
  • BUG/MINORsslMemory leak of AUTHORITY_KEYID struct when loading issuer
  • BUG/MINORsslMemory leak of DH BIGNUM fields
  • CIadd monthly gcc cross compile jobs
  • BUG/MINORquicfix race condition on datagram purging
  • BUG/MINORlogfixing bug in tcp syslog_io_handler Octet-Counting
  • BUG/MINORquicfix subscribe operation
  • MINORquicremove unnecessary quic_session_accept()
  • BUG/MEDIUMstick-tablefix a race condition when updating the expiration task

#2022/11/25 : 2.6r1 (1.0.0-283.565)

  • BUG/MINORsslshut the ca-file errors emitted during httpclient init
  • MINORsslforgotten newline in error messages on ca-file
  • MINORsslenhance ca-file error emitting

#2022/11/04 : 2.6r1 (1.0.0-283.562)

  • BUG/MINORhttpclientfixed memory allocation for the SSL ca_file

#2022/10/26 : 2.6r1 (1.0.0-282.561)

  • BUG/MAJORstick-tabledon't process store-response rules for applets
  • DOCluaadd a note about compression w/ httpclient
  • DOCmanagementadd forgotten show startup-logs
  • CISSLtemporarily stick to LibreSSL=3.5.3
  • CISSLuse proper version generating when latest semantic is used
  • BUG/MINORsinkSet default connect/server timeout for implicit ring buffers
  • BUG/MINORsinkOnly use backend capability for the sink proxies
  • MINORquicdisplay unknown error sendto counter on stat page
  • MINORquicdo not crash on unhandled sendto error
  • BUG/MEDIUMcompressionhandle rewrite errors when updating response headers
  • BUG/MINORmux-quiccomplete flow-control for uni streams
  • BUILDMakefileadd USE_SHM_OPEN on the linux-musl target
  • CIgithubdump the backtrace of coredumps in the alpine container
  • REGTESTShttpclient/luatest the lua task timeout with the httpclient
  • BUG/MEDIUMhttpclientcheck if the httpclient was released in the IO handler
  • BUG/MEDIUMhttpclient/luacrash when the lua task timeout before the httpclient
  • BUG/MINORringProperly parse connect timeout
  • BUG/MINORlogPreserve message facility when the log target is a ring buffer
  • MINORquicextend Retry token check function
  • MINORquicrefactor packet drop on reception
  • MINORquicsplit and rename qc_lstnr_pkt_rcv()
  • MINORquicextract connection retrieval
  • MINORquicdefine first packet flag
  • MINORquicextend pn_offset field from quic_rx_packet
  • MINORquicadd version field on quic_rx_packet
  • BUG/MINORquicfix buffer overflow on retry token generation
  • BUILDquicFix build for m68k cross-compilation
  • BUILDssl_sockfix null dereference for QUIC build
  • BUG/MEDIUMhttpclientsegfault when the httpclient parser fails
  • BUILDquicQUIC mux build fix for 32-bit build
  • CIReplace the deprecated `::set-output` command by writing to $GITHUB_OUTPUT in workflow definition
  • CIReplace the deprecated `::set-output` command by writing to $GITHUB_OUTPUT in matrix.py
  • MINORhttpclient/luaDon't set req_payload callback if body is empty
  • BUG/MEDIUMhttpclientDon't set EOM flag on an empty HTX message
  • BUILDssl_sockbind_conf uninitialized in ssl_sock_bind_verifycbk()
  • MINORquicimplement datagram cleanup for quic_receiver_buf
  • CLEANUPquicimprove naming for rxbuf/datagrams handling
  • CLEANUPquicremove unused rxbufs member in receiver
  • MINORquicSplit the secrets key allocation in two parts
  • BUG/MINORquicStalled 0RTT connections with big ClientHello TLS message
  • MINORquicUse a non-contiguous buffer for RX CRYPTO data
  • MINORquicExtract CRYPTO frame parsing from qc_parse_pkt_frms()
  • MINORquicNew quic_cstream object implementation
  • BUG/MINORservermake sure show servers state hides private bits
  • BUG/MAJORstick-tablesdo not try to index a server name for applets
  • DOCconfigurationmissing 'if' in tcp-request content example
  • BUG/MINORquicset IP_PKTINFO socket option for QUIC receivers only
  • CLEANUPquic/receiverremove the now unused tx_qring list
  • MEDIUMquicretrieve frontend destination address
  • BUG/MEDIUMconfigcount line arguments without dereferencing the output
  • BUG/MINORconfigdon't count trailing spaces as empty arg (v2)
  • BUG/MINORsmtpchkSMTP Service check should gracefully close SMTP transaction
  • MINORsmtpchkUpdate expect rule to fully match replies to EHLO commands
  • BUG/MINORmux-h1Account consumed output data on synchronous connection error
  • CLEANUPquicfix indentation
  • MINORmux-quiccheck quic-conn return code on Tx
  • MINORquiclimit usage of ssl_sock_ctx in favor of quic_conn
  • BUG/MINORhluahlua_channel_insert_data() behavior conflicts with documentation
  • BUILDhttp_fetchsilence an uninitiialized warning with gcc-4/5/6 at -Os
  • BUG/MINORhttp-fetchUpdate method after a prefetch in smp_fetch_meth()
  • MINORinitdo not try to shrink existing RLIMIT_NOFIlE
  • MINORfdadd a new function to only raise RLIMIT_NOFILE
  • BUILDh1silence an initiialized warning with gcc-4.7 and -Os
  • BUG/MEDIUMluahandle stick table implicit arguments right.
  • BUG/MEDIUMluaDon't crash in hlua_lua2arg_check on failure
  • BUG/MINORmux-quicignore STOP_SENDING for locally closed stream
  • CLEANUPquiccreate a dedicated quic_conn module
  • CLEANUPquicremove duplicated varint code from xprt_quic.h
  • CLEANUPquicremove unused function prototype
  • CLEANUPquicfix headers
  • BUG/MINORquicadjust quic_tls prototypes
  • CLEANUPquicremove global var definition in quic_tls header
  • CLEANUPmux-quicremove usage of non-standard ull type
  • DOCconfigFix pgsql-check documentation to make user param mandatory
  • BUG/MINORchecksupdate pgsql regex on auth packet
  • BUG/MINORbackendonly enforce turn-around state when not redispatching
  • BUG/MAJORconn-idlefix hash indexing issues on idle conns
  • DOCmanagementhttpclient can resolve server names in URLs
  • BUG/MINORhlua_hlua_http_msg_delete incorrect behavior when offset is used
  • BUG/MINORhluafixing hlua_http_msg_insert_data behavior
  • BUG/MINORhluafixing hlua_http_msg_del_data behavior
  • BUG/MEDIUMresolversRemove aborted resolutions from query_ids tree
  • BUG/MEDIUMstconnReset SE descriptor when we fail to create a stream
  • BUG/MINORstreamPerform errors handling in right order in stream_new()
  • BUG/MINORhluaRemove \n in Lua error message built with memprintf
  • REGTESTS4be_1srv_smtpchk_httpchk_layer47errorsReturn valid SMTP replies
  • MINORquicAdd a trace to distinguish the datagram from the packets inside
  • BUG/MINORquicFrames added to packets even if not built.
  • CLEANUPquicRemove a useless check in qc_lstnr_pkt_rcv()
  • CLEANUPquicNo more use ->rx_list MT_LIST entry point (quic_rx_packet)
  • BUG/MINORquicStalled connections (missing I/O handler wakeup)
  • BUG/MINORquicLeak in qc_release_lost_pkts() for non in flight TX packets
  • MINORquicReplace MT_LISTs by LISTs for RX packets.
  • BUG/MINORquicSafer QUIC frame builders
  • BUG/MINORquicWrong list_for_each_entry() use when building packets from qc_do_build_pkt()

#2022/10/05 : 2.6r1 (1.0.0-281.466)

  • BUG/MINORlogimproper behavior when escaping log data
  • REGTESTSsslfix grep invocation to use extended regex in ssl_generate_certificate.vtc
  • REGTESTSssladopt tests to OpenSSL-3.0.N
  • REGTESTSssladopt tests to OpenSSL-3.0.N
  • BUG/MEDIUMmux-quicproperly trim HTX buffer on snd_buf reset
  • MINORmux-quicrefactor snd_buf
  • REORGmux-quicexport HTTP related function in a dedicated file
  • REORGmux-quicextract traces in a dedicated source file
  • BUG/MINORmux-quicdo not keep detached qcs with empty Tx buffers
  • BUG/MEDIUMmux-quicfix nb_hreq decrement
  • SCRIPTSannounce-releaseupdate some URLs to https
  • BUILDfdfix a build warning on the DWCAS
  • BUG/MEDIUMcapturesfree() an error capture out of the proxy lock
  • CLEANUPquic,sslfix tiny typos in C comments
  • BUG/MEDIUMserversegv when adding server with hostname from CLI
  • BUG/MINORmux-quicdo not remotely close stream too early
  • CLEANUPmux-quicremove stconn usage in h3/hq
  • BUG/MEDIUMmux-quicfix crash on early app-ops release
  • MEDIUMquicseparate path for rx and tx with set_encryption_secrets
  • DOCfix TOC in starter guide for subsection 3.3.8. Statistics
  • REGTESTSssl/logtest the log-forward with SSL
  • BUG/MEDIUMsinkbad init sequence on tcp sink from a ring.
  • REGTESTSlogtest the log-forward feature
  • BUG/MINORlistenernull pointer dereference suspected by coverity
  • CLEANUPlistenerfunction comment typo in stop_listener()
  • REGTESTShealthcheckmailRelax matching on the healthcheck log message
  • BUG/MINORmux-h1Increment open_streams counter when H1 stream is created
  • CLEANUPpollersremove dead code in the polling loop
  • BUG/MINORstatsfixing stat shows disabled frontend status as 'OPEN'
  • MINORproxy/listenersupport for additional PAUSED state
  • MINORlistenersmall API change
  • BUG/MEDIUMproxyensure pause_proxy() and resume_proxy() own PROXY_LOCK
  • DEVflagsadd missing CO_FL_FDLESS connection flag
  • DEVflagsfix usage message to reflect available options
  • CIcirrus-cibump FreeBSD image to 13-1
  • BUG/MINORsignals/pollerensure wakeup from signals
  • MINORh3Send the h3 settings with others streams (requests)
  • MINORh3Missing connection argument for a TRACE_LEAVE() argument
  • MINORh3Add the quic_conn object to h3 traces
  • BUG/MINORh3Crash when h3 trace verbosity is minimal
  • BUG/MINORquicTrace fix about packet number space information.
  • BUG/MINORquicSpeed up the handshake completion only one time
  • BUG/MINORsignals/pollerset the poller timeout to 0 when there are signals
  • BUG/MINORstream/schedtake into account CPU profiling for the last call
  • MINORschedstore the current profile entry in the thread context
  • BUG/MINORschedproperly account for the CPU time of dying tasks
  • BUG/MINORtaskFix detection of tasks profiling in tasklet_wakeup_after()
  • CLEANUPtaskrename ->call_date to ->wake_date
  • MINORtaskpermanently enable latency measurement on tasklets
  • BUG/MINORtaskmake task_instant_wakeup() work on a task not a tasklet
  • BUG/MINORtaskalways reset a new tasklet's call date
  • BUG/MINORquicWrong connection ID to thread ID association
  • MINORquicNo TRACE_LEAVE() in retrieve_qc_conn_from_cid()
  • MINORquicAdd traces about sent or resent TX frames
  • MINORquicadd QUIC support when no client_hello_cb
  • BUILDquicfix the #ifdef in ssl_quic_initial_ctx()
  • BUILDsslfix the ifdef mess in ssl_sock_initial_ctx
  • BUILDquicenable early data only with >= openssl 1.1.1
  • BUILDquictemporarly ignore chacha20_poly1305 for libressl
  • BUILDsslfix ssl_sock_switchtx_cbk when no client_hello_cb
  • BUILDquicadd some ifdef around the SSL_ERROR_* for libressl
  • BUG/MINORquicPossible crash when verifying certificates
  • BUG/MINORh1Support headers case adjustment for TCP proxies
  • BUG/MINORquicPossible crash with tls-ticket-keys on QUIC bind lines
  • BUG/MINORquicRetransmitted frames marked as acknowledged
  • BUILDmakefileenable crypt(3) for NetBSD
  • MINORRevert part of clarifying samples support per os commit
  • MEDIUMpeerslimit the number of updates sent at once
  • MINORhttpclientenabled the use of SNI presets
  • CLEANUPhttpclientdeleted unused variables
  • MINORhttpclientexport httpclient_create_proxy()
  • MEDIUMhttpclientallow to use another proxy
  • MEDIUMhttpclienthttpclient_create_proxy() creates a proxy for httpclient
  • MEDIUMhttpclientenable ALPN support on outgoing https connections
  • BUG/MINORhttp-actinitialize http fmt head earlier
  • MINORdebugreport applet pointer and handler in crashes when known
  • DEBUGstreamminor rearrangement of a few fields in struct stream.
  • BUG/MINORmux-fcgifix the show fd dest buffer for the subscriber
  • BUG/MINORmux-h1fix the show fd dest buffer for the subscriber
  • BUG/MINORmux-h2fix the show fd dest buffer for the subscriber
  • BUG/MINORhttpclientkeep-alive was accidentely disabled
  • BUG/MEDIUMhttpclientalways detach the caller before self-killing
  • BUG/MINORh2properly set the direction flag on HTX response
  • BUG/MINORquicFrames leak during retransmissions
  • MINORquicTrace typo fix in qc_release_frm()
  • MINORquicAdd TX frames addresses to traces to several trace events
  • BUG/MINORquicDo not ack when probing
  • MINORbackendalways satisfy the first req reuse rule with l7 retries
  • BUG/MEDIUMmux-h1always use RST to kill idle connections in pools
  • REGTESTShttp_request_bufferAdd a barrier to not mix up log messages
  • BUG/MINORregexProperly handle PCRE2 lib compiled without JIT support
  • BUILDdebugmake sure debug macros are never empty
  • CLEANUPexclude haring with .gitignore
  • DEVharingsupport remapping LF in contents with CR VT
  • DEVharingadd a simple utility to read file-backed rings
  • MINORsink/ringrotate non-empty file-backed contents only
  • MINORringarchive a previous file-backed ring on startup
  • BUILDsinkreplace S_IRUSR, S_IWUSR with their octal value
  • MINORringadd support for a backing-file
  • MINORringsupport creating a ring from a linear area
  • BUILDringforward-declare struct appctx to avoid a build warning
  • BUG/MINORsslleak of ckch_inst_link in ckch_inst_free() v2
  • BUG/MINORquicTX frames memleak
  • MINORquicMove traces about RX/TX bytes from QUIC_EV_CONN_PRSAFRM event
  • BUG/MINORquicMissing header protection AES cipher context initialisations (draft-v2)
  • BUG/MINORquicNull packet dereferencing from qc_dup_pkt_frms() trace
  • MINORquicRemove useless traces about references to TX packets
  • BUG/MINORquixMemleak for non in flight TX packets
  • BUG/MINORmux-quicFix memleak on QUIC stream buffer for unacknowledged data
  • MINORquicAdd reusable cipher contexts for header protection
  • MINORquicTrace fix in qc_release_frm()
  • MINORquicAdd the QUIC connection to mux traces
  • BUG/MINORquicWrong splitted duplicated frames handling
  • MINORquicAdd frame addresses to QUIC_EV_CONN_PRSAFRM event traces
  • BUG/MINORquicPossible crashes when dereferencing ->pkt quic_frame struct member
  • MEDIUMh3concatenate multiple cookie headers
  • REGTESTSadd test for HTTP/2 cookies concatenation
  • REORGh2extract cookies concat function in http_htx
  • BUG/MEDIUMquicfix crash on MUX send notification
  • BUG/MINORquicMissing initializations for ducplicated frames.
  • BUG/MINORquicdo not notify MUX on frame retransmit
  • MINORquicrefactor application send
  • MINORmux-quicadd missing args on some traces
  • MINORmux-quicadjust traces on stream init
  • BUG/MEDIUMmux-quicreject uni stream ID exceeding flow control
  • MINORqpackreport error on enc/dec stream close
  • MINORh3report error on control stream close
  • MINORquicadjust quic_frame flag manipulation
  • BUG/MINORquicWrong status returned by qc_pkt_decrypt()
  • BUG/MINORquicMIssing check when building TX packets
  • BUG/MINORmux-quicfix crash with traces in qc_detach()
  • BUG/MEDIUMquicWrong use of <token_odcid> in qc_lsntr_pkt_rcv()
  • BUG/MEDIUMquicPossible use of uninitialized <odcid> variable in qc_lstnr_params_init()
  • BUG/MEDIUMmux-quicfix crash due to invalid trace arg
  • MINORmux-quicdefine new traces
  • CLEANUPmux-quicadjust traces level
  • MINORmux-quicdefine protocol error traces
  • MINORmux-quicadjust enter/leave traces
  • CLEANUPquicRemove trailing spaces
  • MINORquicRemove useless lock for RX packets
  • MEDIUMquicxprt traces rework
  • BUG/MINORquicfix crash on handshake io-cb for null next enc level
  • BUG/MINORmux-quicopen stream on STOP_SENDING
  • MINORquicskip sending if no frame to send in io-cb
  • MINORquicrefactor datagram commit in Tx buffer
  • MINORquicrelease Tx buffer on each send
  • MINORquicreplace custom buf on Tx by default struct buffer
  • MINORquicReplace pool_zalloc() by pool_malloc() for fake datagrams
  • BUG/MINORquicadjust errno handling on sendto
  • MINORquicAdd two new stats counters for sendto() errors
  • MEDIUMmux-quicimplement http-request timeout
  • MINORmux-quicrefactor refresh timeout function
  • MINORmux-quicrefresh timeout on frame decoding
  • MINORh3support HTTP request framing state
  • MEDIUMmux-quicimplement http-keep-alive timeout
  • MINORmux-quiccount in-progress requests
  • MEDIUMmux-quicadjust timeout refresh
  • MINORmux-quicuse timeout server for backend conns
  • MINORmux-quicsave proxy instance into qcc
  • MINORh3implement graceful shutdown with GOAWAY
  • MINORh3store control stream in h3c
  • MINORmux-quicsend one last time before release
  • CLEANUPmux-quicmove qc_release()
  • MEDIUMquicsend CONNECTION_CLOSE on released MUX
  • MINORmux-quic/h3prepare CONNECTION_CLOSE on release
  • MINORmux-quicsupport app graceful shutdown
  • MINORquicdefine a generic QUIC error type
  • CLEANUPquicclean up include on quic_frame-t.h
  • MEDIUMmux-quicimplement STOP_SENDING handling
  • MEDIUMmux-quicimplement RESET_STREAM emission
  • MINORmux-quicuse stream states to mark as detached
  • MINORmux-quicdefine basic stream states
  • MINORmux-quicsupport stream opening via MAX_STREAM_DATA
  • MINORmux-quicdo not ack STREAM frames on unrecoverable error
  • MINORmux-quicfilter send/receive-only streams on frame parsing
  • MINORmux-quicimplement qcs_alert()
  • MINORmux-quicadd traces on frame parsing functions
  • MINORmux-quicrename stream purge function
  • REORGmux-quicrename stream initialization function
  • MINORmux-quicemit FINAL_SIZE_ERROR on invalid STREAM size
  • MINORmux-quicrename qcs flag FIN_RECV to SIZE_KNOWN
  • MEDIUMmux-quicrefactor streams opening
  • MINORmux-quicimplement accessor for sedesc
  • REORGmux-quicreorganize flow-control fields
  • CLEANUPmux-quicdo not export qc_get_ncbuf
  • CLEANUPmux-quicadjust comment on qcs_consume()
  • BUG/MINORqpackabort on dynamic index field line decoding
  • BUG/MINORqpackfix build with QPACK_DEBUG
  • CLEANUPpool/quicremove suffix _pool from certain pool names
  • MINORquicDump version_information transport parameter
  • BUG/MINORqpackabort on dynamic index field line decoding
  • BUILDquicWrong HKDF label constant variable initializations
  • CLEANUPquicRemove any reference to boringssl
  • MEDIUMquicCompatible version negotiation implementation (draft-08)
  • MINORquicReleased QUIC TLS extension for QUIC v2 draft
  • MEDIUMquicAdd QUIC v2 draft support
  • CLEANUPquidQUIC draft-28 no more supported
  • MINORquicParse long packet version from qc_parse_hd_form()
  • MINORquicAdd several nonce and key definitions for Retry tag
  • MINORqpackimprove decoding function
  • MINORqpackadd ABORT_NOW on unimplemented decoding
  • MINORqpackreduce dependencies on other modules
  • CLEANUPquicuse task_new_on() for single-threaded tasks
  • MINORmux-quiccomplete BUG_ON on TX flow-control enforcing
  • BUG/MEDIUMh3fix SETTINGS parsing
  • BUG/MINORh3fix incorrect BUG_ON assert on SETTINGS parsing
  • BUG/MINORh3fix return value on decode_qcs on error
  • MINORmux-quic/h3adjust demuxing function return values
  • MINORmux-quicsimplify decode_qcs API
  • CLEANUPRe-apply xalloc_size.cocci (2)
  • MINORconnectionsupport HTTP/3.0 for smp_*_http_major fetch
  • BUG/MINORdev/udpproperly preset the rx address size
  • BUG/MEDIUMmux-h1do not refrain from signaling errors after end of input
  • BUG/MINORsslrevert two wrong fixes with ckhi_link
  • MINORquicRevert recent QUIC commits
  • BUG/MEDIUMsslFix a UAF when old ckch instances are released
  • BUG/MINORsslleak of ckch_inst_link in ckch_inst_free()
  • BUG/MINORsslfix deinit of the ca-file tree
  • BUG/MINORtcpcheckDisable QUICKACK for default tcp-check (with no rule)
  • MINORquicAdd a trace to distinguish the datagram from the packets inside
  • BUG/MINORappletmake the call_rate only count the no-progress calls
  • BUG/MEDIUMappletfix incorrect check for abnormal return condition from handler
  • MINORquicReplace MT_LISTs by LISTs for RX packets.
  • BUG/MINORhluaRely on CF_EOI to detect end of message in HTTP applets
  • BUG/MEDIUMpeersDon't start resync on reload if local peer is not up-to-date
  • BUG/MEDIUMpeersDon't use resync timer when local resync is in progress
  • BUG/MEDIUMpeersAdd connect and server timeut to peers proxy
  • BUG/MEDIUMspoeProperly update streams waiting for a ACK in async mode
  • BUG/MINORquicFrames added to packets even if not built.
  • DOCconfiguration.txtdo-resolve must use host_only to remove its port.
  • BUG/MINORhttpclientfix resolution with port
  • MINORsampleadd the host_only and port_only converters
  • DOCconfigurationdo-resolve doesn't work with a port in the string
  • CLEANUPquicRemove a useless check in qc_lstnr_pkt_rcv()
  • CLEANUPquicNo more use ->rx_list MT_LIST entry point (quic_rx_packet)
  • BUG/MINORquicStalled connections (missing I/O handler wakeup)
  • BUG/MINORquicLeak in qc_release_lost_pkts() for non in flight TX packets
  • MINORresolversshut the warning when default resolvers is implicit
  • REGTESTSFix prometheus script to perform HTTP health-checks
  • BUG/MINORtcpcheckDisable QUICKACK only if data should be sent after connect
  • BUG/MINORmworkerdoes not create the default resolvers in wait mode
  • BUG/MINORresolversreturn the correct value in resolvers_finalize_config()
  • BUILDtcp_samplefix build of get_tcp_info() on OpenBSD
  • BUG/MINORquicSafer QUIC frame builders
  • BUG/MINORquicWrong list_for_each_entry() use when building packets from qc_do_build_pkt()
  • BUG/MAJORmworkerfix infinite loop on master with no proxies.
  • BUG/MINORssl/clierror when the ca-file is empty
  • BUG/MAJORlog-forwardFix ssl layer not initialized on bind even if configured
  • BUG/MAJORlog-forwardFix log-forward proxies not fully initialized
  • BUG/MEDIUMmux-h2do not fiddle with ->dsi to indicate demux is idle
  • BUG/MEDIUMclialways reset the service context between commands
  • MINORappletadd a function to reset the svcctx of an applet
  • BUG/MEDIUMhttp-anafix crash or wrong header deletion by http-restrict-req-hdr-names
  • MINORstick-tableAdd table_expire() and table_idle() new converters
  • MINORhapeeupdate backported file with pool-related stuff
  • MINORchunkinline alloc_trash_chunk()
  • MINORpools/memprofstore and report the pool's name in each bin
  • MINORpool/memprofreport pool alloc/free in memory profiling
  • MINORmemprofexport the minimum definitions for memory profiling
  • BUG/MINORquicmemleak on wrong datagram receipt
  • BUG/MEDIUMringfix too lax 'size' parser
  • BUG/MINORquicPossible infinite loop in quic_build_post_handshake_frames()
  • BUILDdebugsilence warning on gcc-5
  • BUILDstconnfix build warning at -O3 about possible null sc
  • BUG/MEDIUMtaskrelax one thread consistency check in task_unlink_wq()
  • BUG/MEDIUMpolleruse fd_delete() to release the poller pipes
  • BUG/MEDIUMquicalways remove the connection from the accept list on close
  • CLEANUPmux-quicremove loop on sending frames
  • BUG/MEDIUMquicMissing AEAD TAG check after removing header protection
  • MINORquicToo much useless traces in qc_build_frms()
  • BUG/MEDIUMquicWrong packet length check in qc_do_rm_hp()
  • BUILDcfgparsealways defined _GNU_SOURCE for sched.h and crypt.h
  • CLEANUPassorted typo fixes in the code and comments
  • BUG/MEDIUMquicbreak out of the loop in quic_lstnr_dghdlr
  • MINORquicexplicitely ignore sendto error
  • BUG/MINORquicMissing Initial packet dropping case
  • BUG/MINORquicdo not reject datagrams matching minimum permitted size
  • BUG/MINORsinkfix a race condition between the writer and the reader
  • BUG/MEDIUMsinkSet the sink ref for forwarders created during ring parsing
  • BUG/MINORring/clifix a race condition between the writer and the reader
  • BUG/MINORquicAvoid sending truncated datagrams
  • BUILDhttpsilence an uninitialized warning affecting gcc-5
  • BUG/MEDIUMquicFloating point exception in cubic_root()
  • BUG/MINORquicMissing in flight ack eliciting packet counter decrement
  • MINORpeersAdd a warning about incompatible SSL config for the local peer
  • BUG/MEDIUMproxyPerform a custom copy for default server settings
  • REORGserverExport srv_settings_cpy() function
  • MINORserverConstify source server to copy its settings
  • BUG/MINORbackendDon't increment conn_retries counter too early
  • BUG/MEDIUMdnsProperly initialize new DNS session
  • BUG/MINORpeersUse right channel flag to consider the peer as connected
  • BUG/MEDIUMpeerslimit reconnect attempts of the old process on reload
  • MINORpeersUse a dedicated reconnect timeout when stopping the local peer
  • BUG/MINORmux-quicdo not free conn if attached streams
  • CLEANUPmux-quicremove useless app_ops is_active callback
  • BUG/MINORmux-quicprevent crash if conn released during IO callback
  • BUG/MEDIUMpatternonly visit equivalent nodes when skipping versions
  • MINORebtreeadd ebmb_lookup_shorter() to pursue lookups
  • BUG/MEDIUMqueue/threadslimit the number of entries dequeued at once
  • MINORquicSend packets as much as possible from qc_send_app_pkts()
  • BUG/MAJORquicUseless resource intensive loop qc_ackrng_pkts()
  • MINORquicStop looking for packet loss asap
  • BUG/MINORquicloss time limit variable computed but not used
  • MINORquicNew quic-cc-algo bind keyword
  • MEDIUMquicCubic congestion control algorithm implementation
  • MINORquicCongestion control architecture refactoring
  • BUG/MEDIUMmux-quicfix missing EOI flag to prevent streams leaks
  • BUG/MINORmworkerPROC_O_LEAVING used but not updated
  • MEDIUMresolverscontinue startup if network is unavailable
  • DEBUGfdsplit the fd check
  • MINORhapeeadd a .hapee directory to list backporting notes
  • CLEANUPbwlimSet pointers to NULL when memory is released
  • MEDIUMbwlimAdd support of bandwith limitation at the stream level
  • MINORfreq_ctrAdd a function to get events excess over the current period
  • BUG/MINORsockpairwrong return value for fd_send_uxst()
  • BUG/MINORbackendFallback on RR algo if balance on source is impossible
  • BUILDquicfix anonymous union for gcc-4.4
  • BUG/MEDIUMstconnOnly reset connect expiration when processing backend side
  • BUILDadd detection for unsupported compiler models
  • BUG/MEDIUMmworkerproc_self incorrectly set crashes upon reload
  • BUG/MAJORmux_quicfix invalid PROTOCOL_VIOLATION on POST data overlap
  • BUG/MINORmworker/clirelative pid prefix not validated anymore
  • BUG/MINORquicdo not send CONNECTION_CLOSE_APP in initial/handshake
  • BUG/MINORtoolsfix statistical_prng_range()'s output range
  • BUG/MINORsslallow duplicate certificates in ca-file directories
  • BUG/MINORresolversshut off the warning for the default resolvers
  • MINORresolversresolvers_destroy() deinit and free a resolver
  • BUG/MEDIUMtoolsavoid calling dlsym() in static builds (try 2)
  • BUILDmakefileFix install(1) handling for OpenBSD/NetBSD/Solaris/AIX
  • BUG/MEDIUMtoolsavoid calling dlsym() in static builds
  • BUG/MINORdebugenter ha_panic() only once
  • BUG/MEDIUMcli/threadsmake show threads more robust on applets
  • BUG/MINORquicfix closing state on NO_ERROR code sent
  • BUG/MEDIUMmux-quicfix server chunked encoding response
  • CLEANUPh2Typo fix in h2_unsubcribe() traces
  • MINORqpackproperly handle invalid dynamic table references
  • MINORh3handle errors on HEADERS parsing/QPACK decoding
  • MINORh3add h3c pointer into h3s instance
  • BUG/MINORmux-quicdo not signal FIN if gap in buffer
  • MINORncbufimplement ncb_is_fragmented()
  • MINORquicIncrease the QUIC connections RX buffer size (upto 64Kb)
  • MINORquicImprovements for the datagrams receipt
  • MINORtaskAdd tasklet_wakeup_after()
  • MINORquicDuplicated QUIC_RX_BUFSZ definition
  • MINORquicAdd new stats counter to diagnose RX buffer overrun
  • BUG/MINORquicDropped packets not counted (with RX buffers full)
  • BUILDquic+h332-bit compilation errors fixes
  • BUG/MAJORquicBig RX dgrams leak with POST requests
  • BUG/MAJORquicBig RX dgrams leak when fulfilling a buffer
  • BUG/MINORquicWrong reuse of fulfilled dgram RX buffer
  • BUG/MINORquicMissing acknowledgments for trailing packets
  • MEDIUMmworkerset the iocb of the socketpair without using fd_insert()
  • BUG/MEDIUMmux-h1Handle connection error after a synchronous send
  • BUG/MEDIUMhttp-anaDon't wait to have an empty buf to switch in TUNNEL state
  • BUG/MINORmux-h1Be sure to commit htx changes in the demux buffer
  • REGTEESTSfiltersFix CONNECT request in random-forwarding script
  • BUG/MEDIUMhttp-fetchDon't fetch the method if there is no stream
  • MINORhttp-htxUse new HTTP functions for the scheme based normalization
  • BUG/MEDIUMh1Improve authority validation for CONNCET request
  • MINORhttpAdd function to detect default port
  • MINORhttpAdd function to get port part of a host
  • BUG/MINORhttp-htxFix scheme based normalization for URIs wih userinfo
  • BUG/MINORpeersfix possible NULL dereferences at config parsing
  • BUG/MINORhttp-actProperly generate 103 responses when several rules are used
  • BUG/MINORhttp-checkPreserve headers if not redefined by an implicit rule
  • BUG/MINORpeers/configalways fill the bind_conf's argument
  • MINORfdAdd BUG_ON checks on fd_insert()
  • CIre-enable gcc asan builds
  • BUILDMakefileAdd Lua 5.4 autodetect
  • BUG/MEDIUMssl/fdunexpected fd close using async engine
  • MINORfdadd a new FD_DISOWN flag to prevent from closing a deleted FD
  • BUG/MINORhttp-fetchUse integer value when possible in method sample fetch
  • BUG/MINORhttp-anaSet method to HTTP_METH_OTHER when an HTTP txn is created
  • BUG/MINORsslDo not look for key in extra files if already in pem
  • MEDIUMmux-h2try to coalesce outgoing WINDOW_UPDATE frames
  • REGTESTSssladd the same cert for client/server
  • BUG/MEDIUMmworkeruse default maxconn in wait mode
  • BUG/MINORquicAcknowledgement must be forced during handshake
  • BUG/MEDIUMssl/clicrash when crt inserted into a crt-list
  • BUG/MINORquicfree rejected Rx packets
  • BUG/MINORquicpurge conn Rx packet list on release
  • BUG/MINORquic_statsDuplicate quic_streams_data_blocked_bidi field name
  • BUG/MINORquicUnexpected half open connection counter wrapping
  • BUG/MINORlogProperly test connection retries to fix dontlog-normal option
  • MINORstreamRely on stconn flags to abort stream destructive upgrade
  • BUG/MEDIUMstreamProperly handle destructive client connection upgrades
  • BUG/MINORtaskfix thread assignment in tasklet_kill()
  • BUG/MINORquicWrong PTO calculation
  • BUG/MINORquicStop hardcoding Retry packet Version field
  • BUG/BUILDh3fix wrong label name
  • BUG/MINORh3/qpackdeal with too many headers
  • MINORqpackadd comments and remove a useless trace
  • BUG/MINORqpacksupport header litteral name decoding
  • BUG/MEDIUMmux-quicfix segfault on flow-control frame cleanup
  • BUG/MEDIUMcliNotify cli applet won't consume data during request processing
  • BUG/MEDIUMstconnDon't wakeup applet for send if it won't consume data
  • BUG/MINORtcp-rulesMake action call final on read error and delay expiration
  • BUG/MINORmux-quicfix memleak on frames rejected by transport
  • BUG/MEDIUMmux-quicfix flow control connection Tx level
  • BUG/MINORcli/statsadd missing trailing LF after show info json
  • BUG/MINORserverdo not enable DNS resolution on disabled proxies
  • BUG/MINORcli/statsadd missing trailing LF after JSON outputs
  • BUG/MINORh3fix frame type definition
  • MINORhapee/WURFLtransfer error status from the _wurfl_reload() function
  • MINORhapee/WURFLadded live update database function
  • MINORhapee/WURFLadded custom API log function
  • MINORhapee/WURFLadded function to check correct module initialization
  • BUG/MINORhapee/WURFLcorrected version check of used wurfl library
  • BUILDhapee/darepaired build in case of using old DeviceAtlas library
  • MINORhapee/daadd function that allow data reload
  • MINORhapee/daadd spin locking
  • MINORhapee/daadd support for loading a precompiled json data
  • MEDIUMhapee/daRevert MEDIUM: da: update module to handle schedule mode.
  • MINORhapee/51dadd function that allow data reload
  • BUG/MINORhapee/51dadd spin locking
  • BUILDhapee/51dfix error when building with 51Degrees enabled
  • BUG/MEDIUMhapee/51dfix a segfault on exit when 51d configuration is not loaded
  • MEDIUMhapee/51duse fiftyoneDegreesProvider to access the pool and dataset
  • REGTESTShealthcheckmailRelax health-check failure condition
  • REGTESTShealthcheckmailUpdate the test to be functionnal again
  • BUG/MINORchecksProperly handle email alerts in trace messages
  • BUG/MINORtraceTest server existence for health-checks to get proxy
  • BUG/MEDIUMmailersSet the object type for check attached to an email alert
  • BUILDcompilerimplement unreachable for older compilers too
  • REGTESTSrestrict_req_hdr_namesExtend supported versions
  • REGTESTShttp_abortoncloseExtend supported versions
  • BUG/MINORssl_ckchFix possible uninitialized value in show_crlfile I/O handler
  • BUG/MINORssl_ckchFix possible uninitialized value in show_cafile I/O handler
  • BUG/MINORssl_ckchFix possible uninitialized value in show_cert I/O handler
  • BUG/MINORssl_ckchInit right field when parsing commit ssl crl-file cmd
  • BUG/MINORssl_ckchDump cert transaction only once if show command yield
  • BUG/MINORssl_ckchDump CA transaction only once if show command yield
  • BUG/MINORssl_ckchDump CRL transaction only once if show command yield
  • BUG/MINORssl_ckchUse right type for old entry in show_crlfile_ctx
  • REGTESTShttp_request_bufferIncrease client timeout to wait slow clients
  • REGTESTSabortoncloseAdd a barrier to not mix up log messages
  • MEDIUMhttpclientDon't close CLI applet at the end of a response
  • MEDIUMhttp-anaAlways report rewrite failures as PRXCOND in logs
  • BUG/MEDIUMhttpclientRework CLI I/O handler to handle full buffer cases
  • BUG/MEDIUMhttpclientDon't remove HTX header blocks before duplicating them
  • BUG/MEDIUMssl/crt-listRework 'add ssl crt-list' to handle full buffer cases
  • BUG/MEDIUMssl_ckchRework 'commit ssl ca-file' to handle full buffer cases
  • BUG/MEDIUMssl_ckchRework 'commit ssl cert' to handle full buffer cases
  • BUG/MINORssl_ckchDon't duplicate path when replacing a CA/CRL entry
  • BUG/MINORssl_ckchDon't duplicate path when replacing a cert entry
  • BUG/MEDIUMssl_ckchDon't delete CA/CRL entry if it is being modified
  • BUG/MEDIUMssl_ckchDon't delete a cert entry if it is being modified
  • BUG/MINORssl_ckchFree error msg if commit changes on a CA/CRL entry fails
  • BUG/MINORssl_ckchFree error msg if commit changes on a cert entry fails
  • BUG/MINORhapee/modulesinitialize the module head list
  • BUILDhapee/modulesselect either md5 or md5sum
  • MEDIUMhapee/modulesload the STG_REGISTER initcalls
  • BUG/MINORhapee/modulesdisplay detailed error message on mod_init() failure
  • MINORhapee/modulesadd a new label MODULES_LOCK to the lock_label enum
  • MINORhapee/modulesadd the ability to register variable and functions.
  • MEDIUMhapee/modules'modules list' on the cli shows currently loaded modules
  • MINORhapee/modulesterminate properly loaded modules if possible
  • MEDIUMhapee/modulesadd memory reservation support for the modules
  • MINOR/WiPhapeechange URLs and EOL date for 2.6r1
  • BUILDhapee/modulesupdate HAPEE version macro to 2.6r1
  • BUILDhapee/modulesadd macros to compute numerical value of a HAPEE version
  • BUILDhapee/modulesadd version of the module in the defines
  • MEDIUMhapee/modulesadd modules support