haproxy/include/common
Willy Tarreau ee4f5f83d3 MINOR: stats: get rid of the ST_CONVDONE flag
This flag was added in 1.4-rc1 by commit 329f74d463 ("[BUG] uri_auth: do
not attemp to convert uri_auth -> http-request more than once") to
address the case where two proxies inherit the stats settings from
the defaults instance, and the first one compiles the expression while
the second one uses it. In this case since they use the exact same
uri_auth pointer, only the first one should compile and the second one
must not fail the check. This was addressed by adding an ST_CONVDONE
flag indicating that the expression conversion was completed and didn't
need to be done again. But this is a hack and it becomes cumbersome in
the middle of the other flags which are all relevant to the stats
applet. Let's instead fix it by checking if we're dealing with an
alias of the defaults instance and refrain from compiling this twice.
This allows us to remove the ST_CONVDONE flag.

A typical config requiring this check is :

   defaults
        mode http
        stats auth foo:bar

   listen l1
        bind :8080

   listen l2
        bind :8181

Without this (or previous) check it would cmoplain when checking l2's
validity since the rule was already built.
2019-10-10 11:30:07 +02:00
..
accept4.h CLEANUP: build: rename some build macros to use the USE_* ones 2019-05-22 19:47:57 +02:00
base64.h [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buf.h MINOR: buffer: add functions to read/write varints from/to buffers 2019-08-27 17:14:19 +02:00
buffer.h CLEANUP: buffer: replace b_drop() with b_free() 2019-08-08 08:07:45 +02:00
cfgparse.h MINOR: cfgparse: make the process/thread parser support a maximum value 2019-01-26 13:25:14 +01:00
chunk.h BUILD: chunk: properly declare pool_head_trash as extern 2019-03-29 21:03:20 +01:00
compat.h BUILD: signals: FreeBSD has SI_LWP instead of SI_TKILL 2019-05-23 08:40:50 +02:00
compiler.h MINOR: compiler: add a new macro ALREADY_CHECKED() 2018-12-08 15:27:03 +01:00
config.h MINOR: debug: Add an option that causes random allocation failures. 2019-01-31 19:38:25 +01:00
debug.h MINOR: wdt: also consider that waiting in the thread dumper is normal 2019-07-31 19:35:31 +02:00
defaults.h MINOR: config: continue to rely on DEFAULT_MAXCONN to set the minimum maxconn 2019-03-13 10:10:49 +01:00
epoll.h CLEANUP: build: rename some build macros to use the USE_* ones 2019-05-22 19:47:57 +02:00
errors.h [MINOR] errors: provide new status codes for config parsing functions 2010-08-10 14:01:15 +02:00
fcgi.h MINOR: fcgi: Add function to get the string representation of a record type 2019-10-04 16:12:02 +02:00
h1.h MEDIUM: mux-h1/h1-htx: move HTX convertion of H1 messages in dedicated file 2019-09-17 10:18:54 +02:00
h2.h CLEANUP: h2: Remove functions converting h2 requests to raw HTTP/1.1 ones 2019-07-19 09:18:27 +02:00
hash.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hathreads.h BUILD: threads: add the definition of PROTO_LOCK 2019-07-25 07:53:56 +02:00
hpack-dec.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hpack-enc.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hpack-huff.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
hpack-tbl.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
http-hdr.h BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
http.h MINOR: http: Add a function to get the authority into a URI 2019-10-09 11:05:31 +02:00
htx.h MINOR: htx: Add 2 flags on the start-line to have more info about the uri 2019-10-09 11:05:31 +02:00
initcall.h MINOR: initcall: Don't forget to define the __start/stop_init_##stg symbols. 2019-04-10 16:33:25 +02:00
ist.h BUILD: ist: turn the lower/upper case tables to literal on obsolete linkers 2019-05-15 16:14:04 +02:00
istbuf.h MINOR: istbuf: Add the function b_isteqi() 2019-09-17 10:18:54 +02:00
memory.h BUG/MINOR: pools: don't mark the thread harmless if already isolated 2019-08-08 07:41:52 +02:00
mini-clist.h MINOR: mt_lists: Give MT_LIST_ADD, MT_LIST_ADDQ and MT_LIST_DEL a return value. 2019-09-23 18:16:08 +02:00
namespace.h CLEANUP: build: rename some build macros to use the USE_* ones 2019-05-22 19:47:57 +02:00
net_helper.h MINOR: net_helper: add 64-bit read/write functions 2017-09-21 06:27:08 +02:00
openssl-compat.h BUILD: ssl: BoringSSL add EVP_PKEY_base_id 2019-08-01 11:21:42 +02:00
regex.h MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
splice.h CLEANUP: build: rename some build macros to use the USE_* ones 2019-05-22 19:47:57 +02:00
standard.h MINOR: tools: add a generic struct "name_desc" for name-description pairs 2019-08-29 09:34:53 +02:00
syscall.h BUILD: enable build on Linux/s390x 2015-10-12 20:58:51 +02:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00
ticks.h [MEDIUM] scheduler: get rid of the 4 trees thanks and use ebtree v4.1 2009-03-21 10:25:14 +01:00
time.h MINOR: time: add timeofday_as_iso_us() to return instant time as ISO 2019-09-26 08:13:38 +02:00
tools.h [MINOR] tools: add two macros MID_RANGE and MAX_RANGE 2011-03-28 15:55:43 +02:00
uri_auth.h MINOR: stats: get rid of the ST_CONVDONE flag 2019-10-10 11:30:07 +02:00
version.h [RELEASE] Released version 2.1-dev0 2019-06-16 21:49:47 +02:00
xref.h MEDIUM: xref: Use the new _HA_ATOMIC_* macros. 2019-03-11 17:02:37 +01:00