haproxy public development tree
Go to file
Amaury Denoyelle c460c70ab7 BUG/MEDIUM: stick_table: fix crash when using tcp smp_fetch_src
Since the introduction of bc_src, smp_fetch_src from tcp_sample inspect
the kw argument to choose between the frontend or the backend source
address. However, for the stick tables, the argument is left to NULL.
This causes a segfault.

Fix the crash by explicitely set the kw argument to "src" to retrieve
the source address of the frontend side.

This bug was introduced by the following commit :
  7d081f02a4
  MINOR: tcp_samples: Add samples to get src/dst info of the backend connection

It does not need a backport as it is integrated in the current 2.4-dev
branch.

To reproduce the crash, I used the following config :

frontend fe
	bind :20080
	http-request track-sc0 src table foo
	http-request reject if { src_conn_rate(foo) gt 10 }
	use_backend h1

backend foo
	stick-table type ip size 200k expire 30s store conn_rate(60s)

backend h1
	server nginx 127.0.0.1:30080 check

This should fix the github issue #1247.
2021-05-12 15:30:03 +02:00
.github CI: extend spellchecker whitelist, add "ists" as well 2021-05-10 23:04:55 +02:00
addons BUILD/MINOR: opentracing: fixed compilation with filter enabled 2021-05-12 09:45:16 +02:00
admin DOC: fix a few remainig cases of "Haproxy" and "HAproxy" in doc and comments 2021-05-09 06:50:46 +02:00
dev CLEANUP: dev/flags: remove useless test in the stdin number parser 2021-04-03 15:29:10 +02:00
doc MINOR: uri_normalizer: Add fragment-encode normalizer 2021-05-11 17:24:32 +02:00
examples DOC: remove last occurrences of "HA-Proxy" syntax 2021-05-09 06:29:40 +02:00
include IMPORT: slz: do not produce the crc32_fast table when CRC is natively supported 2021-05-12 09:29:33 +02:00
reg-tests MINOR: uri_normalizer: Add fragment-encode normalizer 2021-05-11 17:24:32 +02:00
scripts REGTESTS: run-regtests: match both "HAProxy" and "HA-Proxy" in the version 2021-05-09 06:12:41 +02:00
src BUG/MEDIUM: stick_table: fix crash when using tcp smp_fetch_src 2021-05-12 15:30:03 +02:00
tests CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
.cirrus.yml CI: cirrus: install "pcre" package 2021-04-15 08:35:46 +02:00
.gitattributes MINOR: Configure the cpp userdiff driver for *.[ch] in .gitattributes 2021-02-22 18:17:57 +01:00
.gitignore ADDONS: make addons/ discoverable by git via .gitignore 2021-05-07 16:48:14 +02:00
.travis.yml CI: Build VTest with clang 2021-05-10 23:00:59 +02:00
BRANCHES DOC: fix some spelling issues over multiple files 2021-01-08 14:53:47 +01:00
CHANGELOG [RELEASE] Released version 2.4-dev19 2021-05-10 07:50:26 +02:00
CONTRIBUTING CLEANUP: contrib: remove the last references to the now dead contrib/ directory 2021-04-21 15:13:58 +02:00
INSTALL BUILD: makefile: add a few popular ARMv8 CPU targets 2021-05-12 14:23:22 +02:00
LICENSE
MAINTAINERS CONTRIB: move spoa_example out of the tree 2021-04-21 09:39:06 +02:00
Makefile BUILD: makefile: add a few popular ARMv8 CPU targets 2021-05-12 14:23:22 +02:00
README DOC: create a BRANCHES file to explain the life cycle 2019-06-15 22:00:14 +02:00
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.4-dev19 2021-05-10 07:50:26 +02:00
VERSION [RELEASE] Released version 2.4-dev19 2021-05-10 07:50:26 +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)