Changes since version 3.2-dev7 : Amaury Denoyelle (2): BUG/MEDIUM: mux-quic: fix crash on RS/SS emission if already close local BUG/MINOR: mux-quic: remove extra BUG_ON() in _qcc_send_stream() Aurelien DARRAGON (23): CLEANUP: log-forward: remove useless options2 init CLEANUP: log: add syslog_process_message() helper MINOR: proxy: add proxy->options3 MINOR: log: migrate log-forward options from proxy->options2 to options3 MINOR: log: provide source address information in syslog_process_message() MINOR: tools: only print address in sa2str() when port == -1 MINOR: log: add "option host" log-forward option MINOR: log: handle log-forward "option host" MEDIUM: log: change default "host" strategy for log-forward section DOC: management: rename some last occurences from domain "dns" to "resolvers" BUG/MINOR: stats: fix capabilities and hide settings for some generic metrics BUG/MINOR: log: prevent saddr NULL deref in syslog_io_handler() BUG/MINOR: hlua: fix optional timeout argument index for AppletTCP:receive() BUG/MEDIUM: hlua/cli: fix cli applet UAF in hlua_applet_wakeup() MINOR: stats: add .generic explicit field in stat_col struct MINOR: stats: STATS_PX_CAP___B_ macro MINOR: stats: add .cap for some static metrics MINOR: stats: use stat_col storage stat_cols_info MEDIUM: promex: switch to using stat_cols_info for global metrics MINOR: promex: expose ST_I_INF_WARNINGS (AKA total_warnings) metric MEDIUM: promex: switch to using stat_cols_px for front/back/server metrics MINOR: stats: explicitly add frontend cap for ST_I_PX_REQ_TOT CLEANUP: promex: remove unused PROMEX_FL_{INFO,FRONT,BACK,LI,SRV} flags Christopher Faulet (1): BUG/MINOR: mux-h2: Reset streams with NO_ERROR code if full response was already sent Valentine Krasnobaeva (3): MINOR: cpu-topo: fix unused stack var 'cpu2' reported by coverity BUG/MINOR: limits: compute_ideal_maxconn: don't cap remain if fd_hard_limit=0 MINOR: limits: fix check_if_maxsock_permitted description William Lallemand (7): MINOR: jws: implement JWS signing TESTS: jws: implement a test for JWS signing CI: github: add "jose" to apt dependencies MINOR: jws: add new functions in jws.h MINOR: jws: use jwt_alg type instead of a char MINOR: tools: path_base() concatenates a path with a base path MEDIUM: ssl/ckch: make the ckch_conf more generic Willy Tarreau (74): BUG/MEDIUM: thread: use pthread_self() not ha_pthread[tid] in set_affinity MINOR: compiler: add a simple macro to concatenate resolved strings MINOR: compiler: add a new __decl_thread_var() macro to declare local variables BUILD: tools: silence a build warning when USE_THREAD=0 BUILD: backend: silence a build warning when threads are disabled MINOR: cli: export cli_io_handler() to ease symbol resolution MINOR: tools: improve symbol resolution without dl_addr MINOR: tools: ease the declaration of known symbols in resolve_sym_name() MINOR: tools: teach resolve_sym_name() a few more common symbols BUILD: tools: avoid a build warning on gcc-4.8 in resolve_sym_name() DEV: ncpu: also emulate sysconf() for _SC_NPROCESSORS_* DOC: design-thoughts: commit numa-auto.txt MINOR: cpuset: make the API support negative CPU IDs MINOR: thread: rely on the cpuset functions to count bound CPUs MINOR: cpu-topo: add ha_cpu_topo definition MINOR: cpu-topo: allocate and initialize the ha_cpu_topo array. MINOR: cpu-topo: rely on _SC_NPROCESSORS_CONF to trim maxcpus MINOR: cpu-topo: add a function to dump CPU topology MINOR: cpu-topo: update CPU topology from excluded CPUs at boot REORG: cpu-topo: move bound cpu detection from cpuset to cpu-topo MINOR: cpu-topo: add detection of online CPUs on Linux MINOR: cpu-topo: add detection of online CPUs on FreeBSD MINOR: cpu-topo: try to detect offline cpus at boot MINOR: cpu-topo: add CPU topology detection for linux MINOR: cpu-topo: also store the sibling ID with SMT MINOR: cpu-topo: add NUMA node identification to CPUs on Linux MINOR: cpu-topo: add NUMA node identification to CPUs on FreeBSD MINOR: thread: turn thread_cpu_mask_forced() into an init-time variable MINOR: cfgparse: move the binding detection into numa_detect_topology() MINOR: cfgparse: use already known offline CPU information MINOR: global: add a command-line option to enable CPU binding debugging MINOR: cpu-topo: add a new "cpu-set" global directive to choose cpus MINOR: cpu-topo: add "drop-cpu" and "only-cpu" to cpu-set MEDIUM: thread: start to detect thread groups and threads min/max MEDIUM: cpu-topo: make sure to properly assign CPUs to threads as a fallback MEDIUM: thread: reimplement first numa node detection MEDIUM: cfgparse: remove now unused numa & thread-count detection MINOR: cpu-topo: refine cpu dump output to better show kept/dropped CPUs MINOR: cpu-topo: fall back to nominal_perf and scaling_max_freq for the capacity MINOR: cpu-topo: use cpufreq before acpi cppc MINOR: cpu-topo: boost the capacity of performance cores with cpufreq MINOR: cpu-topo: skip CPU detection when /sys/.../cpu does not exist MINOR: cpu-topo: skip identification of non-existing CPUs MINOR: cpu-topo: skip CPU properties that we've verified do not exist MINOR: cpu-topo: implement a sorting mechanism for CPU index MINOR: cpu-topo: implement a sorting mechanism by CPU locality MINOR: cpu-topo: implement a CPU sorting mechanism by cluster ID MINOR: cpu-topo: ignore single-core clusters MINOR: cpu-topo: assign clusters to cores without and renumber them MINOR: cpu-topo: make sure we don't leave unassigned IDs in the cpu_topo MINOR: cpu-topo: assign an L3 cache if more than 2 L2 instances MINOR: cpu-topo: renumber cores to avoid holes and make them contiguous MINOR: cpu-topo: add a function to sort by cluster+capacity MINOR: cpu-topo: consider capacity when forming clusters MINOR: cpu-topo: create an array of the clusters MINOR: cpu-topo: ignore excess of too small clusters MINOR: cpu-topo: add "only-node" and "drop-node" to cpu-set MINOR: cpu-topo: add "only-thread" and "drop-thread" to cpu-set MINOR: cpu-topo: add "only-core" and "drop-core" to cpu-set MINOR: cpu-topo: add "only-cluster" and "drop-cluster" to cpu-set MINOR: cpu-topo: add a CPU policy setting to the global section MINOR: cpu-topo: add a 'first-usable-node' cpu policy MEDIUM: cpu-topo: use the "first-usable-node" cpu-policy by default CLEANUP: thread: now remove the temporary CPU node binding code MINOR: cpu-topo: add cpu-policy "group-by-cluster" MEDIUM: cpu-topo: let the "group-by-cluster" split groups MINOR: cpu-topo: add a new "performance" cpu-policy MINOR: cpu-topo: add a new "efficiency" cpu-policy MINOR: cpu-topo: add a new "resource" cpu-policy MINOR: hlua: add an optional timeout to AppletTCP:receive() MINOR: stream: decrement srv->served after detaching from the list MINOR: server: simplify srv_has_streams() CLEANUP: server: make it clear that srv_check_for_deletion() is thread-safe MINOR: cli/server: don't take thread isolation to check for srv-removable