haproxy public development tree
Go to file
Amaury Denoyelle 69dfddcf42 BUG/MINOR: stick-table: fix crash for src_inc_gpc() without stkcounter
Since 2.5, an array of GPC is provided to replace legacy gpc0/gpc1.
src_inc_gpc is a sample fetch which is used to increment counters in
this array.

A crash occurs if src_inc_gpc is used without any previous track-sc
rule. This is caused by an error in smp_fetch_sc_inc_gpc(). When
temporary stick counter is created via smp_create_src_stkctr(), table
pointer arg value used is not correct : it points to the counter ID
instead of the table argument. To fix this, use the proper sample fetch
second arg.

This can be reproduced with the following config :
  acl mark src_inc_gpc(0,<table>) -m bool
  tcp-request connection accept if mark

This should be backported up to 2.6.

(cherry picked from commit ea7ea5198a)
Signed-off-by: Willy Tarreau <w@1wt.eu>
2024-07-29 11:56:13 +02:00
.github CI: github: upgrade the WolfSSL job to 5.7.0 2024-05-28 19:26:52 +02:00
addons BUG/MINOR: promex: Remove Help prefix repeated twice for each metric 2024-07-03 08:50:39 +02:00
admin BUILD: address a few remaining calloc(size, n) cases 2024-02-10 11:37:27 +01:00
dev DEV: flags/quic: decode quic_conn flags 2024-07-11 15:44:58 +02:00
doc DOC: config: improve the http-keep-alive section 2024-07-29 11:56:13 +02:00
examples CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
include CLEANUP: quic: rename TID affinity elements 2024-07-29 11:56:13 +02:00
reg-tests REGTESTS: ssl: fix some regtests 'feature cmd' start condition 2024-06-26 15:16:24 +02:00
scripts SCRIPTS: git-show-backports: do not truncate git-show output 2024-06-26 15:16:24 +02:00
src BUG/MINOR: stick-table: fix crash for src_inc_gpc() without stkcounter 2024-07-29 11:56:13 +02:00
tests MINOR: ist: define iststrip() new function 2024-04-26 11:29:25 +02:00
.cirrus.yml CI: cirrus-ci: display gdb bt if any 2023-09-22 08:28:30 +02:00
.gitattributes
.gitignore CONTRIB: Add vi file extensions to .gitignore 2023-06-02 18:14:34 +02:00
.mailmap
.travis.yml
BRANCHES
BSDmakefile BUILD: makefile: commit the tiny FreeBSD makefile stub 2023-05-24 17:17:36 +02:00
CHANGELOG [RELEASE] Released version 3.0.3 2024-07-11 16:05:19 +02:00
CONTRIBUTING
INSTALL DOC: install: don't reference removed CPU arg 2024-07-29 11:56:13 +02:00
LICENSE
MAINTAINERS MAJOR: spoe: Let the SPOE back into the game 2024-05-22 09:04:38 +02:00
Makefile BUILD: makefile: yearly reordering of objects by build time 2024-05-27 19:14:14 +02:00
README
SUBVERS
VERDATE [RELEASE] Released version 3.0.3 2024-07-11 16:05:19 +02:00
VERSION [RELEASE] Released version 3.0.3 2024-07-11 16:05:19 +02:00

The HAProxy documentation has been split into a number of different files for
ease of use.

Please refer to the following files depending on what you're looking for :

  - INSTALL for instructions on how to build and install HAProxy
  - BRANCHES to understand the project's life cycle and what version to use
  - LICENSE for the project's license
  - CONTRIBUTING for the process to follow to submit contributions

The more detailed documentation is located into the doc/ directory :

  - doc/intro.txt for a quick introduction on HAProxy
  - doc/configuration.txt for the configuration's reference manual
  - doc/lua.txt for the Lua's reference manual
  - doc/SPOE.txt for how to use the SPOE engine
  - doc/network-namespaces.txt for how to use network namespaces under Linux
  - doc/management.txt for the management guide
  - doc/regression-testing.txt for how to use the regression testing suite
  - doc/peers.txt for the peers protocol reference
  - doc/coding-style.txt for how to adopt HAProxy's coding style
  - doc/internals for developer-specific documentation (not all up to date)