haproxy/src
Christopher Faulet 8952ea636b BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL
When a local server-state file is loaded, if its name is too long, the error
is not properly handled, resulting to a call to fopen() with the "filepath"
variable set to NULL. To fix the bug, when this error occurs, we jump to the
next proxy, via a "continue" statement. And we take case to set "filepath"
variable after the error handling to be sure.

This patch should fix the issue #1111. It must be backported as far as 1.6.
2021-02-12 16:42:00 +01:00
..
51d.c MEDIUM: xxhash: use the XXH3 functions to generate 64-bit hashes 2020-12-23 06:39:21 +01:00
acl.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
action.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
activity.c BUG/MINOR: activity: take care of late wakeups in "show tasks" 2021-01-29 15:07:07 +01:00
applet.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
arg.c CLEANUP: Do not use a fixed type for 'sizeof' in 'calloc' 2020-09-12 20:31:25 +02:00
auth.c CLEANUP: assorted typo fixes in the code and comments 2021-01-06 17:32:03 +01:00
backend.c BUG/MINOR: backend: fix compilation without ssl 2021-02-12 13:49:42 +01:00
base64.c REORG: include: move base64.h, errors.h and hash.h from common to to haproxy/ 2020-06-11 10:18:56 +02:00
cache.c MAJOR: htx: Remove the EOM block type and use HTX_FL_EOM instead 2021-01-28 16:37:14 +01:00
calltrace.c BUILD: trace: include tools.h 2020-09-25 17:54:48 +02:00
cfgparse-global.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
cfgparse-listen.c MEDIUM: cfgparse: allow a proxy to designate the defaults section to use 2021-02-12 16:23:46 +01:00
cfgparse-ssl.c MINOR: ssl: Remove client_crt member of the server's ssl context 2021-01-26 15:19:36 +01:00
cfgparse-tcp.c CLEANUP: cfgparse: remove duplicate registration for transparent build options 2020-11-05 19:27:16 +01:00
cfgparse-unix.c MINOR: listener: create a new struct "settings" in bind_conf 2020-09-16 20:13:13 +02:00
cfgparse.c MINOR: cfgparse: move defproxy to cfgparse-listen as a static 2021-02-12 16:23:46 +01:00
channel.c MINOR: channel: new getword and getchar functions on channel. 2020-10-07 17:17:27 +02:00
check.c CLEANUP: check: fix some typo in comments 2021-02-08 10:49:08 +01:00
chunk.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
cli.c CLEANUP: remove unused variable assigned found by Coverity 2021-02-11 11:48:36 +01:00
compression.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
connection.c MINOR: connection: use proxy protocol as parameter for srv conn hash 2021-02-12 12:54:04 +01:00
da.c CLEANUP: config: Return ERR_NONE from config callbacks instead of 0 2020-11-13 16:26:10 +01:00
debug.c BUILD: debug: fix build warning by consuming the write() result 2021-01-22 15:58:26 +01:00
dgram.c REORG: dgram: rename proto_udp to dgram 2020-06-11 10:18:59 +02:00
dict.c MEDIUM: stick-tables: Add srvkey option to stick-table 2020-12-31 10:04:54 +01:00
dns.c MINOR: dns: Don't set the check port during a server dns resolution 2021-02-04 10:42:52 +01:00
dynbuf.c REORG: buffer: rename buffer.c to dynbuf.c 2020-06-29 09:26:59 +02:00
eb32sctree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb32tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb64tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebimtree.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
ebistree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebmbtree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebpttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebsttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebtree.c BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks 2020-06-16 11:30:33 +02:00
ev_epoll.c MINOR: debug: add a new DEBUG_FD build option 2020-06-23 10:04:54 +02:00
ev_evports.c MINOR: debug: add a new DEBUG_FD build option 2020-06-23 10:04:54 +02:00
ev_kqueue.c MINOR: debug: add a new DEBUG_FD build option 2020-06-23 10:04:54 +02:00
ev_poll.c CLEANUP: few extra typo and fixes over last one ("ot" -> "to") 2021-01-06 17:35:52 +01:00
ev_select.c CLEANUP: few extra typo and fixes over last one ("ot" -> "to") 2021-01-06 17:35:52 +01:00
extcheck.c BUG/MINOR: extcheck: proxy_parse_extcheck() must take a const for the defproxy 2021-02-12 16:23:46 +01:00
fcgi-app.c MAJOR: htx: Remove the EOM block type and use HTX_FL_EOM instead 2021-01-28 16:37:14 +01:00
fcgi.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
fd.c CLEANUP: Fix spelling errors in comments 2021-01-08 14:56:32 +01:00
filters.c BUG/MEDIUM: filters/htx: Fix data forwarding when payload length is unknown 2021-01-26 09:53:52 +01:00
fix.c CLEANUP: assorted typo fixes in the code and comments 2020-12-21 11:24:48 +01:00
flt_http_comp.c MAJOR: htx: Remove the EOM block type and use HTX_FL_EOM instead 2021-01-28 16:37:14 +01:00
flt_spoe.c CLEANUP: spoe: fix typo on var_check_arg comment 2021-01-05 17:23:32 +01:00
flt_trace.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
freq_ctr.c BUG/MINOR: freq_ctr: fix a wrong delay calculation in next_event_delay() 2021-02-09 17:52:50 +01:00
frontend.c MINOR: frontend: add client timeout sample fetch 2020-12-11 12:01:07 +01:00
h1_htx.c MINOR: h1: Raise the chunk size limit up to (2^52 - 1) 2021-01-28 16:37:14 +01:00
h1.c MEDIUM: h1: add a WebSocket key on handshake if needed 2021-01-28 16:37:14 +01:00
h2.c CLEANUP: assorted typo fixes in the code and comments 2021-02-08 10:49:08 +01:00
haproxy.c MEDIUM: proxy: store the default proxies in a tree by name 2021-02-12 16:23:46 +01:00
hash.c REORG: include: move base64.h, errors.h and hash.h from common to to haproxy/ 2020-06-11 10:18:56 +02:00
hlua_fcn.c MEDIUM: stats: allow to select one field in stats_fill_sv_stats 2021-01-26 09:24:51 +01:00
hlua.c MEDIUM: connection: replace idle conn lists by eb trees 2021-02-12 12:33:05 +01:00
hpack-dec.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
hpack-enc.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
hpack-huff.c REORG: include: move hpack*.h to haproxy/ and split hpack-tbl 2020-06-11 10:18:57 +02:00
hpack-tbl.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
http_acl.c CLEANUP: acl: don't reference the generic pattern deletion function anymore 2020-11-05 19:27:09 +01:00
http_act.c MINOR: stick-tables/counters: add http_fail_cnt and http_fail_rate data types 2021-02-10 12:27:01 +01:00
http_ana.c BUG/MINOR: http-ana: Don't increment HTTP error counter on internal errors 2021-02-10 16:22:32 +01:00
http_conv.c MINOR: http-conv: Don't check if argument list is set in sample converters 2021-01-29 13:26:02 +01:00
http_fetch.c MINOR: http: add baseq sample fetch 2021-02-12 16:38:50 +01:00
http_htx.c BUG/MINOR: http-htx: defpx must be a const in proxy_dup_default_conf_errors() 2021-02-12 16:23:46 +01:00
http_rules.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
http.c MINOR: http: Add HTTP 501-not-implemented error message 2021-01-21 15:21:12 +01:00
htx.c MAJOR: htx: Remove the EOM block type and use HTX_FL_EOM instead 2021-01-28 16:37:14 +01:00
lb_chash.c MINOR: lb/chash: use a read lock in chash_get_server_hash() 2020-10-17 20:15:49 +02:00
lb_fas.c MINOR: lb/first: use a read lock in fas_get_next_server() 2020-10-17 19:49:49 +02:00
lb_fwlc.c BUG/MEDIUM: lb-leastconn: Reposition a server using the right eweight 2020-12-14 09:52:34 +01:00
lb_fwrr.c MINOR: backend: replace the lbprm lock with an rwlock 2020-10-17 18:51:41 +02:00
lb_map.c MINOR: lb/map: use seek lock and read locks where appropriate 2020-10-17 19:04:27 +02:00
listener.c MINOR: listener: export manage_global_listener_queue() 2021-01-29 14:29:57 +01:00
log.c MINOR: muxes: Add exit status for errors about not implemented features 2021-01-21 15:21:12 +01:00
lru.c
mailers.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
map.c MEDIUM: pattern: only match patterns that match the current generation 2020-11-05 19:27:09 +01:00
mqtt.c CLEANUP: assorted typo fixes in the code and comments 2020-12-21 11:24:48 +01:00
mux_fcgi.c MEDIUM: connection: replace idle conn lists by eb trees 2021-02-12 12:33:05 +01:00
mux_h1.c MEDIUM: connection: replace idle conn lists by eb trees 2021-02-12 12:33:05 +01:00
mux_h2.c MEDIUM: connection: replace idle conn lists by eb trees 2021-02-12 12:33:05 +01:00
mux_pt.c MINOR: xprt/mux: export all *_io_cb functions so that "show fd" resolves them 2021-01-20 17:17:39 +01:00
mworker-prog.c CLEANUP: mworker: remove duplicate pointer tests in cfg_parse_program() 2021-01-05 15:58:37 +01:00
mworker.c BUG/MINOR: mworker: define _GNU_SOURCE for strsignal() 2021-01-21 12:16:52 +01:00
namespace.c REORG: include: move the error reporting functions to from log.h to errors.h 2020-06-11 10:18:59 +02:00
pattern.c CLEANUP: pattern: rename pat_ref_commit() to pat_ref_commit_elt() 2021-01-15 14:11:59 +01:00
payload.c MINOR: config: Deprecate and ignore tune.chksize global option 2020-11-27 10:30:23 +01:00
peers.c MINOR: peers: export process_peer_sync() to improve traces 2021-01-29 12:38:42 +01:00
pipe.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
pool.c MEDIUM: pools: call malloc_trim() from pool_gc() 2020-11-05 19:27:08 +01:00
proto_quic.c CLEANUP: assorted typo fixes in the code and comments 2021-01-06 17:32:03 +01:00
proto_sockpair.c MINOR: protocol: add a pair of check_events/ignore_events functions at the ctrl layer 2020-12-11 17:02:50 +01:00
proto_tcp.c MINOR: connection: use src addr as parameter for srv conn hash 2021-02-12 12:54:04 +01:00
proto_udp.c MINOR: udp: export udp_suspend_receiver() and udp_resume_receiver() 2020-12-08 18:10:18 +01:00
proto_uxst.c MINOR: protocol: add a pair of check_events/ignore_events functions at the ctrl layer 2020-12-11 17:02:50 +01:00
protocol.c MINOR: protocol: remove the redundant ->sock_domain field 2020-12-08 12:13:54 +01:00
proxy.c MEDIUM: proxy: store the default proxies in a tree by name 2021-02-12 16:23:46 +01:00
qpack-tbl.c CLEANUP: qpack: Wrong comment about the draft for QPACK static header table. 2021-01-04 12:31:28 +01:00
queue.c CLEANUP: queue: Remove useless tests on p or pp in pendconn_process_next_strm() 2021-02-11 11:48:36 +01:00
quic_cc_newreno.c MINOR: quic: Add traces to congestion avoidance NewReno callback. 2020-12-23 11:57:26 +01:00
quic_cc.c MINOR: quic: Import C source code files for QUIC protocol. 2020-12-23 11:57:26 +01:00
quic_frame.c CLEANUP: assorted typo fixes in the code and comments 2021-01-06 16:26:50 +01:00
quic_sock.c MINOR: quic: QUIC socket management finalization. 2020-12-23 11:57:26 +01:00
quic_tls.c MINOR: quic: Update the initial salt to that of draft-29. 2020-12-23 11:57:26 +01:00
raw_sock.c MINOR: raw_sock: Report the number of bytes emitted using the splicing 2020-07-15 14:08:14 +02:00
regex.c OPTIM: regex: PCRE2 use JIT match when JIT optimisation occured. 2020-08-14 07:53:40 +02:00
ring.c CLEANUP: fix all duplicated semicolons 2020-08-10 08:49:38 +02:00
sample.c MINOR: sample: Don't check if argument list is set in sample fetches 2021-01-29 13:26:13 +01:00
server.c BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL 2021-02-12 16:42:00 +01:00
session.c MINOR: session: export session_expire_embryonic() 2021-01-29 12:27:57 +01:00
sha1.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
shctx.c REORG: include: split global.h into haproxy/global{,-t}.h 2020-06-11 10:18:58 +02:00
signal.c REORG: include: move the error reporting functions to from log.h to errors.h 2020-06-11 10:18:59 +02:00
sink.c BUG/MINOR: sink: Return an allocation failure in __sink_new if strdup() fails 2021-01-03 20:35:45 +01:00
sock_inet.c MINOR: protocol: add a ->set_port() helper to address families 2020-12-04 15:08:00 +01:00
sock_unix.c CLEANUP: protocol: remove the now unused <handler> field of proto_fam->bind() 2020-10-15 21:47:56 +02:00
sock.c BUG/MINOR: sock: Unclosed fd in case of connection allocation failure 2021-02-05 12:14:51 +01:00
ssl_ckch.c MEDIUM: ssl: add a rwlock for SSL server session cache 2021-02-09 09:43:44 +01:00
ssl_crtlist.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
ssl_sample.c MINOR: ssl-sample: Don't check if argument list is set in sample fetches 2021-01-29 13:26:24 +01:00
ssl_sock.c MEDIUM: connection: replace idle conn lists by eb trees 2021-02-12 12:33:05 +01:00
ssl_utils.c CLEANUP: ssl: ssl_sock_crt2der semicolon and spaces 2020-08-07 15:38:40 +02:00
stats.c MINOR: stats: improve max stats descriptions 2021-02-01 15:16:33 +01:00
stick_table.c MINOR: stick-tables/counters: add http_fail_cnt and http_fail_rate data types 2021-02-10 12:27:01 +01:00
stream_interface.c MEDIUM: http-ana: Deal with L7 retries in HTTP analysers 2021-01-28 16:37:14 +01:00
stream.c MEDIUM: http-ana: Deal with L7 retries in HTTP analysers 2021-01-28 16:37:14 +01:00
task.c MEDIUM: tasks/activity: collect per-task statistics when profiling is enabled 2021-01-29 12:10:33 +01:00
tcp_act.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
tcp_rules.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
tcp_sample.c MINOR: listener: prefer to retrieve the socket's settings via the receiver 2020-09-16 22:08:07 +02:00
tcpcheck.c CLEANUP: tcpcheck: Remove a useless test on port variable 2021-02-12 16:42:00 +01:00
thread.c BUG/MINOR: threads: Fixes the number of possible cpus report for Mac. 2021-01-15 11:58:46 +01:00
time.c CLEANUP: assorted typo fixes in the code and comments 2020-07-06 14:34:32 +02:00
tools.c BUG/MINOR: tools: Fix a memory leak on error path in parse_dotted_uints() 2021-02-11 11:48:36 +01:00
trace.c BUG/MINOR: trace: Wrong displayed trace level 2020-12-02 17:44:40 +01:00
uri_auth.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
vars.c MINOR: vars: replace static functions with global ones 2020-12-16 14:20:08 +01:00
version.c BUILD: Fix build by including haproxy/global.h 2020-06-16 23:36:04 +02:00
wdt.c CLEANUP: config: Return ERR_NONE from config callbacks instead of 0 2020-11-13 16:26:10 +01:00
wurfl.c CLEANUP: config: Return ERR_NONE from config callbacks instead of 0 2020-11-13 16:26:10 +01:00
xprt_handshake.c MINOR: xprt/mux: export all *_io_cb functions so that "show fd" resolves them 2021-01-20 17:17:39 +01:00
xprt_quic.c MINOR: xprt/mux: export all *_io_cb functions so that "show fd" resolves them 2021-01-20 17:17:39 +01:00