/src/haproxy/include/haproxy/connection.h
Line | Count | Source |
1 | | /* |
2 | | * include/haproxy/connection.h |
3 | | * This file contains connection function prototypes |
4 | | * |
5 | | * Copyright (C) 2000-2002 Willy Tarreau - w@1wt.eu |
6 | | * |
7 | | * This library is free software; you can redistribute it and/or |
8 | | * modify it under the terms of the GNU Lesser General Public |
9 | | * License as published by the Free Software Foundation, version 2.1 |
10 | | * exclusively. |
11 | | * |
12 | | * This library is distributed in the hope that it will be useful, |
13 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 | | * Lesser General Public License for more details. |
16 | | * |
17 | | * You should have received a copy of the GNU Lesser General Public |
18 | | * License along with this library; if not, write to the Free Software |
19 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 | | */ |
21 | | |
22 | | #ifndef _HAPROXY_CONNECTION_H |
23 | | #define _HAPROXY_CONNECTION_H |
24 | | |
25 | | #include <import/ist.h> |
26 | | |
27 | | #include <haproxy/api.h> |
28 | | #include <haproxy/buf.h> |
29 | | #include <haproxy/sock.h> |
30 | | #include <haproxy/connection-t.h> |
31 | | #include <haproxy/stconn-t.h> |
32 | | #include <haproxy/fd.h> |
33 | | #include <haproxy/list.h> |
34 | | #include <haproxy/listener-t.h> |
35 | | #include <haproxy/obj_type.h> |
36 | | #include <haproxy/pool-t.h> |
37 | | #include <haproxy/server.h> |
38 | | #include <haproxy/session-t.h> |
39 | | #include <haproxy/task-t.h> |
40 | | |
41 | | extern struct pool_head *pool_head_connection; |
42 | | extern struct pool_head *pool_head_sockaddr; |
43 | | extern struct pool_head *pool_head_pp_tlv_128; |
44 | | extern struct pool_head *pool_head_pp_tlv_256; |
45 | | extern struct pool_head *pool_head_uniqueid; |
46 | | extern struct xprt_ops *registered_xprt[XPRT_ENTRIES]; |
47 | | extern struct mux_proto_list mux_proto_list; |
48 | | extern struct mux_stopping_data mux_stopping_data[MAX_THREADS]; |
49 | | |
50 | 0 | #define IS_HTX_CONN(conn) ((conn)->mux && ((conn)->mux->flags & MX_FL_HTX)) |
51 | | |
52 | | /* receive a PROXY protocol header over a connection */ |
53 | | int conn_recv_proxy(struct connection *conn, int flag); |
54 | | int conn_send_proxy(struct connection *conn, unsigned int flag); |
55 | | int make_proxy_line(char *buf, int buf_len, struct server *srv, struct connection *remote, struct stream *strm, struct session *sess); |
56 | | struct conn_tlv_list *conn_get_tlv(struct connection *conn, int type); |
57 | | |
58 | | int conn_append_debug_info(struct buffer *buf, const struct connection *conn, const char *pfx); |
59 | | |
60 | | int conn_subscribe(struct connection *conn, void *xprt_ctx, int event_type, struct wait_event *es); |
61 | | int conn_unsubscribe(struct connection *conn, void *xprt_ctx, int event_type, struct wait_event *es); |
62 | | |
63 | | /* receive a NetScaler Client IP insertion header over a connection */ |
64 | | int conn_recv_netscaler_cip(struct connection *conn, int flag); |
65 | | |
66 | | /* raw send() directly on the socket */ |
67 | | int conn_ctrl_send(struct connection *conn, const void *buf, int len, int flags); |
68 | | |
69 | | /* drains any pending bytes from the socket */ |
70 | | int conn_ctrl_drain(struct connection *conn); |
71 | | |
72 | | /* scoks4 proxy handshake */ |
73 | | int conn_send_socks4_proxy_request(struct connection *conn); |
74 | | int conn_recv_socks4_proxy_response(struct connection *conn); |
75 | | |
76 | | /* If we delayed the mux creation because we were waiting for the handshake, do it now */ |
77 | | int conn_create_mux(struct connection *conn, int *closed_connection); |
78 | | int conn_notify_mux(struct connection *conn, int old_flags, int forced_wake); |
79 | | int conn_upgrade_mux_fe(struct connection *conn, void *ctx, struct buffer *buf, |
80 | | struct ist mux_proto, int mode); |
81 | | int conn_install_mux_fe(struct connection *conn, void *ctx); |
82 | | int conn_install_mux_be(struct connection *conn, void *ctx, struct session *sess, |
83 | | const struct mux_ops *force_mux_ops); |
84 | | int conn_install_mux_chk(struct connection *conn, void *ctx, struct session *sess); |
85 | | |
86 | | void conn_delete_from_tree(struct connection *conn, int thr); |
87 | | |
88 | | void conn_init(struct connection *conn, void *target); |
89 | | struct connection *conn_new(void *target); |
90 | | void conn_free(struct connection *conn); |
91 | | void conn_release(struct connection *conn); |
92 | | void conn_set_errno(struct connection *conn, int err); |
93 | | struct sockaddr_storage *sockaddr_alloc(struct sockaddr_storage **sap, const struct sockaddr_storage *orig, socklen_t len); |
94 | | void sockaddr_free(struct sockaddr_storage **sap); |
95 | | |
96 | | |
97 | | /* connection hash stuff */ |
98 | | uint64_t conn_calculate_hash(const struct conn_hash_params *params); |
99 | | uint64_t conn_hash_prehash(const char *buf, size_t size); |
100 | | |
101 | | int conn_reverse(struct connection *conn); |
102 | | |
103 | | const char *conn_err_code_name(struct connection *c); |
104 | | const char *conn_err_code_str(struct connection *c); |
105 | | int xprt_add_hs(struct connection *conn); |
106 | | void register_mux_proto(struct mux_proto_list *list); |
107 | | |
108 | | static inline void conn_report_term_evt(struct connection *conn, enum term_event_loc loc, unsigned char type); |
109 | | |
110 | | extern struct idle_conns idle_conns[MAX_THREADS]; |
111 | | |
112 | | /* set conn->err_code to any CO_ER_* code if it was not set yet, otherwise |
113 | | * does nothing. |
114 | | */ |
115 | | static inline void conn_set_errcode(struct connection *conn, int err_code) |
116 | 0 | { |
117 | 0 | if (!conn->err_code) |
118 | 0 | conn->err_code = err_code; |
119 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_errcode Unexecuted instantiation: cli.c:conn_set_errcode Unexecuted instantiation: connection.c:conn_set_errcode Unexecuted instantiation: debug.c:conn_set_errcode Unexecuted instantiation: errors.c:conn_set_errcode Unexecuted instantiation: fd.c:conn_set_errcode Unexecuted instantiation: filters.c:conn_set_errcode Unexecuted instantiation: flt_http_comp.c:conn_set_errcode Unexecuted instantiation: frontend.c:conn_set_errcode Unexecuted instantiation: haproxy.c:conn_set_errcode Unexecuted instantiation: http_ana.c:conn_set_errcode Unexecuted instantiation: http_ext.c:conn_set_errcode Unexecuted instantiation: http_htx.c:conn_set_errcode Unexecuted instantiation: http_rules.c:conn_set_errcode Unexecuted instantiation: limits.c:conn_set_errcode Unexecuted instantiation: listener.c:conn_set_errcode Unexecuted instantiation: log.c:conn_set_errcode Unexecuted instantiation: mworker.c:conn_set_errcode Unexecuted instantiation: peers.c:conn_set_errcode Unexecuted instantiation: pool.c:conn_set_errcode Unexecuted instantiation: proto_rhttp.c:conn_set_errcode Unexecuted instantiation: proto_sockpair.c:conn_set_errcode Unexecuted instantiation: proxy.c:conn_set_errcode Unexecuted instantiation: queue.c:conn_set_errcode Unexecuted instantiation: resolvers.c:conn_set_errcode Unexecuted instantiation: ring.c:conn_set_errcode Unexecuted instantiation: sample.c:conn_set_errcode Unexecuted instantiation: server.c:conn_set_errcode Unexecuted instantiation: session.c:conn_set_errcode Unexecuted instantiation: sink.c:conn_set_errcode Unexecuted instantiation: sock.c:conn_set_errcode Unexecuted instantiation: stats-html.c:conn_set_errcode Unexecuted instantiation: stats.c:conn_set_errcode Unexecuted instantiation: stconn.c:conn_set_errcode Unexecuted instantiation: stick_table.c:conn_set_errcode Unexecuted instantiation: stream.c:conn_set_errcode Unexecuted instantiation: tcp_rules.c:conn_set_errcode Unexecuted instantiation: tcpcheck.c:conn_set_errcode Unexecuted instantiation: thread.c:conn_set_errcode Unexecuted instantiation: tools.c:conn_set_errcode Unexecuted instantiation: trace.c:conn_set_errcode Unexecuted instantiation: vars.c:conn_set_errcode Unexecuted instantiation: activity.c:conn_set_errcode Unexecuted instantiation: applet.c:conn_set_errcode Unexecuted instantiation: backend.c:conn_set_errcode Unexecuted instantiation: cache.c:conn_set_errcode Unexecuted instantiation: cfgparse-global.c:conn_set_errcode Unexecuted instantiation: cfgparse-listen.c:conn_set_errcode Unexecuted instantiation: channel.c:conn_set_errcode Unexecuted instantiation: check.c:conn_set_errcode Unexecuted instantiation: compression.c:conn_set_errcode Unexecuted instantiation: dns.c:conn_set_errcode Unexecuted instantiation: dns_ring.c:conn_set_errcode Unexecuted instantiation: fcgi-app.c:conn_set_errcode Unexecuted instantiation: http_fetch.c:conn_set_errcode Unexecuted instantiation: mux_spop.c:conn_set_errcode Unexecuted instantiation: pattern.c:conn_set_errcode Unexecuted instantiation: payload.c:conn_set_errcode Unexecuted instantiation: proto_tcp.c:conn_set_errcode Unexecuted instantiation: stats-json.c:conn_set_errcode Unexecuted instantiation: stats-proxy.c:conn_set_errcode Unexecuted instantiation: flt_spoe.c:conn_set_errcode |
120 | | |
121 | | /* returns true if the transport layer is ready */ |
122 | | static inline int conn_xprt_ready(const struct connection *conn) |
123 | 0 | { |
124 | 0 | return (conn->flags & CO_FL_XPRT_READY); |
125 | 0 | } Unexecuted instantiation: cfgparse.c:conn_xprt_ready Unexecuted instantiation: cli.c:conn_xprt_ready Unexecuted instantiation: connection.c:conn_xprt_ready Unexecuted instantiation: debug.c:conn_xprt_ready Unexecuted instantiation: errors.c:conn_xprt_ready Unexecuted instantiation: fd.c:conn_xprt_ready Unexecuted instantiation: filters.c:conn_xprt_ready Unexecuted instantiation: flt_http_comp.c:conn_xprt_ready Unexecuted instantiation: frontend.c:conn_xprt_ready Unexecuted instantiation: haproxy.c:conn_xprt_ready Unexecuted instantiation: http_ana.c:conn_xprt_ready Unexecuted instantiation: http_ext.c:conn_xprt_ready Unexecuted instantiation: http_htx.c:conn_xprt_ready Unexecuted instantiation: http_rules.c:conn_xprt_ready Unexecuted instantiation: limits.c:conn_xprt_ready Unexecuted instantiation: listener.c:conn_xprt_ready Unexecuted instantiation: log.c:conn_xprt_ready Unexecuted instantiation: mworker.c:conn_xprt_ready Unexecuted instantiation: peers.c:conn_xprt_ready Unexecuted instantiation: pool.c:conn_xprt_ready Unexecuted instantiation: proto_rhttp.c:conn_xprt_ready Unexecuted instantiation: proto_sockpair.c:conn_xprt_ready Unexecuted instantiation: proxy.c:conn_xprt_ready Unexecuted instantiation: queue.c:conn_xprt_ready Unexecuted instantiation: resolvers.c:conn_xprt_ready Unexecuted instantiation: ring.c:conn_xprt_ready Unexecuted instantiation: sample.c:conn_xprt_ready Unexecuted instantiation: server.c:conn_xprt_ready Unexecuted instantiation: session.c:conn_xprt_ready Unexecuted instantiation: sink.c:conn_xprt_ready Unexecuted instantiation: sock.c:conn_xprt_ready Unexecuted instantiation: stats-html.c:conn_xprt_ready Unexecuted instantiation: stats.c:conn_xprt_ready Unexecuted instantiation: stconn.c:conn_xprt_ready Unexecuted instantiation: stick_table.c:conn_xprt_ready Unexecuted instantiation: stream.c:conn_xprt_ready Unexecuted instantiation: tcp_rules.c:conn_xprt_ready Unexecuted instantiation: tcpcheck.c:conn_xprt_ready Unexecuted instantiation: thread.c:conn_xprt_ready Unexecuted instantiation: tools.c:conn_xprt_ready Unexecuted instantiation: trace.c:conn_xprt_ready Unexecuted instantiation: vars.c:conn_xprt_ready Unexecuted instantiation: activity.c:conn_xprt_ready Unexecuted instantiation: applet.c:conn_xprt_ready Unexecuted instantiation: backend.c:conn_xprt_ready Unexecuted instantiation: cache.c:conn_xprt_ready Unexecuted instantiation: cfgparse-global.c:conn_xprt_ready Unexecuted instantiation: cfgparse-listen.c:conn_xprt_ready Unexecuted instantiation: channel.c:conn_xprt_ready Unexecuted instantiation: check.c:conn_xprt_ready Unexecuted instantiation: compression.c:conn_xprt_ready Unexecuted instantiation: dns.c:conn_xprt_ready Unexecuted instantiation: dns_ring.c:conn_xprt_ready Unexecuted instantiation: fcgi-app.c:conn_xprt_ready Unexecuted instantiation: http_fetch.c:conn_xprt_ready Unexecuted instantiation: mux_spop.c:conn_xprt_ready Unexecuted instantiation: pattern.c:conn_xprt_ready Unexecuted instantiation: payload.c:conn_xprt_ready Unexecuted instantiation: proto_tcp.c:conn_xprt_ready Unexecuted instantiation: stats-json.c:conn_xprt_ready Unexecuted instantiation: stats-proxy.c:conn_xprt_ready Unexecuted instantiation: flt_spoe.c:conn_xprt_ready |
126 | | |
127 | | /* returns true if the control layer is ready */ |
128 | | static inline int conn_ctrl_ready(const struct connection *conn) |
129 | 0 | { |
130 | 0 | return (conn->flags & CO_FL_CTRL_READY); |
131 | 0 | } Unexecuted instantiation: cfgparse.c:conn_ctrl_ready Unexecuted instantiation: cli.c:conn_ctrl_ready Unexecuted instantiation: connection.c:conn_ctrl_ready Unexecuted instantiation: debug.c:conn_ctrl_ready Unexecuted instantiation: errors.c:conn_ctrl_ready Unexecuted instantiation: fd.c:conn_ctrl_ready Unexecuted instantiation: filters.c:conn_ctrl_ready Unexecuted instantiation: flt_http_comp.c:conn_ctrl_ready Unexecuted instantiation: frontend.c:conn_ctrl_ready Unexecuted instantiation: haproxy.c:conn_ctrl_ready Unexecuted instantiation: http_ana.c:conn_ctrl_ready Unexecuted instantiation: http_ext.c:conn_ctrl_ready Unexecuted instantiation: http_htx.c:conn_ctrl_ready Unexecuted instantiation: http_rules.c:conn_ctrl_ready Unexecuted instantiation: limits.c:conn_ctrl_ready Unexecuted instantiation: listener.c:conn_ctrl_ready Unexecuted instantiation: log.c:conn_ctrl_ready Unexecuted instantiation: mworker.c:conn_ctrl_ready Unexecuted instantiation: peers.c:conn_ctrl_ready Unexecuted instantiation: pool.c:conn_ctrl_ready Unexecuted instantiation: proto_rhttp.c:conn_ctrl_ready Unexecuted instantiation: proto_sockpair.c:conn_ctrl_ready Unexecuted instantiation: proxy.c:conn_ctrl_ready Unexecuted instantiation: queue.c:conn_ctrl_ready Unexecuted instantiation: resolvers.c:conn_ctrl_ready Unexecuted instantiation: ring.c:conn_ctrl_ready Unexecuted instantiation: sample.c:conn_ctrl_ready Unexecuted instantiation: server.c:conn_ctrl_ready Unexecuted instantiation: session.c:conn_ctrl_ready Unexecuted instantiation: sink.c:conn_ctrl_ready Unexecuted instantiation: sock.c:conn_ctrl_ready Unexecuted instantiation: stats-html.c:conn_ctrl_ready Unexecuted instantiation: stats.c:conn_ctrl_ready Unexecuted instantiation: stconn.c:conn_ctrl_ready Unexecuted instantiation: stick_table.c:conn_ctrl_ready Unexecuted instantiation: stream.c:conn_ctrl_ready Unexecuted instantiation: tcp_rules.c:conn_ctrl_ready Unexecuted instantiation: tcpcheck.c:conn_ctrl_ready Unexecuted instantiation: thread.c:conn_ctrl_ready Unexecuted instantiation: tools.c:conn_ctrl_ready Unexecuted instantiation: trace.c:conn_ctrl_ready Unexecuted instantiation: vars.c:conn_ctrl_ready Unexecuted instantiation: activity.c:conn_ctrl_ready Unexecuted instantiation: applet.c:conn_ctrl_ready Unexecuted instantiation: backend.c:conn_ctrl_ready Unexecuted instantiation: cache.c:conn_ctrl_ready Unexecuted instantiation: cfgparse-global.c:conn_ctrl_ready Unexecuted instantiation: cfgparse-listen.c:conn_ctrl_ready Unexecuted instantiation: channel.c:conn_ctrl_ready Unexecuted instantiation: check.c:conn_ctrl_ready Unexecuted instantiation: compression.c:conn_ctrl_ready Unexecuted instantiation: dns.c:conn_ctrl_ready Unexecuted instantiation: dns_ring.c:conn_ctrl_ready Unexecuted instantiation: fcgi-app.c:conn_ctrl_ready Unexecuted instantiation: http_fetch.c:conn_ctrl_ready Unexecuted instantiation: mux_spop.c:conn_ctrl_ready Unexecuted instantiation: pattern.c:conn_ctrl_ready Unexecuted instantiation: payload.c:conn_ctrl_ready Unexecuted instantiation: proto_tcp.c:conn_ctrl_ready Unexecuted instantiation: stats-json.c:conn_ctrl_ready Unexecuted instantiation: stats-proxy.c:conn_ctrl_ready Unexecuted instantiation: flt_spoe.c:conn_ctrl_ready |
132 | | |
133 | | /* |
134 | | * Calls the start() function of the transport layer, if needed. |
135 | | * Returns < 0 in case of error. |
136 | | */ |
137 | | |
138 | | static inline int conn_xprt_start(struct connection *conn) |
139 | 0 | { |
140 | 0 | int ret = 0; |
141 | |
|
142 | 0 | if (!conn_xprt_ready(conn) && conn->xprt && conn->xprt->start) |
143 | 0 | ret = conn->xprt->start(conn, conn->xprt_ctx); |
144 | |
|
145 | 0 | if (ret >= 0) |
146 | 0 | conn->flags |= CO_FL_XPRT_READY; |
147 | |
|
148 | 0 | return ret; |
149 | 0 | } Unexecuted instantiation: cfgparse.c:conn_xprt_start Unexecuted instantiation: cli.c:conn_xprt_start Unexecuted instantiation: connection.c:conn_xprt_start Unexecuted instantiation: debug.c:conn_xprt_start Unexecuted instantiation: errors.c:conn_xprt_start Unexecuted instantiation: fd.c:conn_xprt_start Unexecuted instantiation: filters.c:conn_xprt_start Unexecuted instantiation: flt_http_comp.c:conn_xprt_start Unexecuted instantiation: frontend.c:conn_xprt_start Unexecuted instantiation: haproxy.c:conn_xprt_start Unexecuted instantiation: http_ana.c:conn_xprt_start Unexecuted instantiation: http_ext.c:conn_xprt_start Unexecuted instantiation: http_htx.c:conn_xprt_start Unexecuted instantiation: http_rules.c:conn_xprt_start Unexecuted instantiation: limits.c:conn_xprt_start Unexecuted instantiation: listener.c:conn_xprt_start Unexecuted instantiation: log.c:conn_xprt_start Unexecuted instantiation: mworker.c:conn_xprt_start Unexecuted instantiation: peers.c:conn_xprt_start Unexecuted instantiation: pool.c:conn_xprt_start Unexecuted instantiation: proto_rhttp.c:conn_xprt_start Unexecuted instantiation: proto_sockpair.c:conn_xprt_start Unexecuted instantiation: proxy.c:conn_xprt_start Unexecuted instantiation: queue.c:conn_xprt_start Unexecuted instantiation: resolvers.c:conn_xprt_start Unexecuted instantiation: ring.c:conn_xprt_start Unexecuted instantiation: sample.c:conn_xprt_start Unexecuted instantiation: server.c:conn_xprt_start Unexecuted instantiation: session.c:conn_xprt_start Unexecuted instantiation: sink.c:conn_xprt_start Unexecuted instantiation: sock.c:conn_xprt_start Unexecuted instantiation: stats-html.c:conn_xprt_start Unexecuted instantiation: stats.c:conn_xprt_start Unexecuted instantiation: stconn.c:conn_xprt_start Unexecuted instantiation: stick_table.c:conn_xprt_start Unexecuted instantiation: stream.c:conn_xprt_start Unexecuted instantiation: tcp_rules.c:conn_xprt_start Unexecuted instantiation: tcpcheck.c:conn_xprt_start Unexecuted instantiation: thread.c:conn_xprt_start Unexecuted instantiation: tools.c:conn_xprt_start Unexecuted instantiation: trace.c:conn_xprt_start Unexecuted instantiation: vars.c:conn_xprt_start Unexecuted instantiation: activity.c:conn_xprt_start Unexecuted instantiation: applet.c:conn_xprt_start Unexecuted instantiation: backend.c:conn_xprt_start Unexecuted instantiation: cache.c:conn_xprt_start Unexecuted instantiation: cfgparse-global.c:conn_xprt_start Unexecuted instantiation: cfgparse-listen.c:conn_xprt_start Unexecuted instantiation: channel.c:conn_xprt_start Unexecuted instantiation: check.c:conn_xprt_start Unexecuted instantiation: compression.c:conn_xprt_start Unexecuted instantiation: dns.c:conn_xprt_start Unexecuted instantiation: dns_ring.c:conn_xprt_start Unexecuted instantiation: fcgi-app.c:conn_xprt_start Unexecuted instantiation: http_fetch.c:conn_xprt_start Unexecuted instantiation: mux_spop.c:conn_xprt_start Unexecuted instantiation: pattern.c:conn_xprt_start Unexecuted instantiation: payload.c:conn_xprt_start Unexecuted instantiation: proto_tcp.c:conn_xprt_start Unexecuted instantiation: stats-json.c:conn_xprt_start Unexecuted instantiation: stats-proxy.c:conn_xprt_start Unexecuted instantiation: flt_spoe.c:conn_xprt_start |
150 | | |
151 | | /* Calls the close() function of the transport layer if any and if not done |
152 | | * yet, and clears the CO_FL_XPRT_READY flags |
153 | | * However this is not done if the CO_FL_XPRT_TRACKED flag is set, |
154 | | * which allows logs to take data from the transport layer very late if needed. |
155 | | */ |
156 | | static inline void conn_xprt_close(struct connection *conn) |
157 | 0 | { |
158 | 0 | if (conn->xprt && !(conn->flags & CO_FL_XPRT_TRACKED)) { |
159 | 0 | if (conn->xprt->close) |
160 | 0 | conn->xprt->close(conn, conn->xprt_ctx); |
161 | 0 | conn->xprt_ctx = NULL; |
162 | 0 | conn->flags &= ~CO_FL_XPRT_READY; |
163 | 0 | conn->xprt = NULL; |
164 | 0 | } |
165 | 0 | } Unexecuted instantiation: cfgparse.c:conn_xprt_close Unexecuted instantiation: cli.c:conn_xprt_close Unexecuted instantiation: connection.c:conn_xprt_close Unexecuted instantiation: debug.c:conn_xprt_close Unexecuted instantiation: errors.c:conn_xprt_close Unexecuted instantiation: fd.c:conn_xprt_close Unexecuted instantiation: filters.c:conn_xprt_close Unexecuted instantiation: flt_http_comp.c:conn_xprt_close Unexecuted instantiation: frontend.c:conn_xprt_close Unexecuted instantiation: haproxy.c:conn_xprt_close Unexecuted instantiation: http_ana.c:conn_xprt_close Unexecuted instantiation: http_ext.c:conn_xprt_close Unexecuted instantiation: http_htx.c:conn_xprt_close Unexecuted instantiation: http_rules.c:conn_xprt_close Unexecuted instantiation: limits.c:conn_xprt_close Unexecuted instantiation: listener.c:conn_xprt_close Unexecuted instantiation: log.c:conn_xprt_close Unexecuted instantiation: mworker.c:conn_xprt_close Unexecuted instantiation: peers.c:conn_xprt_close Unexecuted instantiation: pool.c:conn_xprt_close Unexecuted instantiation: proto_rhttp.c:conn_xprt_close Unexecuted instantiation: proto_sockpair.c:conn_xprt_close Unexecuted instantiation: proxy.c:conn_xprt_close Unexecuted instantiation: queue.c:conn_xprt_close Unexecuted instantiation: resolvers.c:conn_xprt_close Unexecuted instantiation: ring.c:conn_xprt_close Unexecuted instantiation: sample.c:conn_xprt_close Unexecuted instantiation: server.c:conn_xprt_close Unexecuted instantiation: session.c:conn_xprt_close Unexecuted instantiation: sink.c:conn_xprt_close Unexecuted instantiation: sock.c:conn_xprt_close Unexecuted instantiation: stats-html.c:conn_xprt_close Unexecuted instantiation: stats.c:conn_xprt_close Unexecuted instantiation: stconn.c:conn_xprt_close Unexecuted instantiation: stick_table.c:conn_xprt_close Unexecuted instantiation: stream.c:conn_xprt_close Unexecuted instantiation: tcp_rules.c:conn_xprt_close Unexecuted instantiation: tcpcheck.c:conn_xprt_close Unexecuted instantiation: thread.c:conn_xprt_close Unexecuted instantiation: tools.c:conn_xprt_close Unexecuted instantiation: trace.c:conn_xprt_close Unexecuted instantiation: vars.c:conn_xprt_close Unexecuted instantiation: activity.c:conn_xprt_close Unexecuted instantiation: applet.c:conn_xprt_close Unexecuted instantiation: backend.c:conn_xprt_close Unexecuted instantiation: cache.c:conn_xprt_close Unexecuted instantiation: cfgparse-global.c:conn_xprt_close Unexecuted instantiation: cfgparse-listen.c:conn_xprt_close Unexecuted instantiation: channel.c:conn_xprt_close Unexecuted instantiation: check.c:conn_xprt_close Unexecuted instantiation: compression.c:conn_xprt_close Unexecuted instantiation: dns.c:conn_xprt_close Unexecuted instantiation: dns_ring.c:conn_xprt_close Unexecuted instantiation: fcgi-app.c:conn_xprt_close Unexecuted instantiation: http_fetch.c:conn_xprt_close Unexecuted instantiation: mux_spop.c:conn_xprt_close Unexecuted instantiation: pattern.c:conn_xprt_close Unexecuted instantiation: payload.c:conn_xprt_close Unexecuted instantiation: proto_tcp.c:conn_xprt_close Unexecuted instantiation: stats-json.c:conn_xprt_close Unexecuted instantiation: stats-proxy.c:conn_xprt_close Unexecuted instantiation: flt_spoe.c:conn_xprt_close |
166 | | |
167 | | /* Initializes the connection's control layer which essentially consists in |
168 | | * registering the connection handle (e.g. file descriptor) for events and |
169 | | * setting the CO_FL_CTRL_READY flag. The caller is responsible for ensuring |
170 | | * that the control layer is already assigned to the connection prior to the |
171 | | * call. |
172 | | */ |
173 | | static inline void conn_ctrl_init(struct connection *conn) |
174 | 0 | { |
175 | 0 | if (!conn_ctrl_ready(conn)) { |
176 | 0 | conn->flags |= CO_FL_CTRL_READY; |
177 | 0 | if (conn->ctrl->ctrl_init) |
178 | 0 | conn->ctrl->ctrl_init(conn); |
179 | 0 | } |
180 | 0 | } Unexecuted instantiation: cfgparse.c:conn_ctrl_init Unexecuted instantiation: cli.c:conn_ctrl_init Unexecuted instantiation: connection.c:conn_ctrl_init Unexecuted instantiation: debug.c:conn_ctrl_init Unexecuted instantiation: errors.c:conn_ctrl_init Unexecuted instantiation: fd.c:conn_ctrl_init Unexecuted instantiation: filters.c:conn_ctrl_init Unexecuted instantiation: flt_http_comp.c:conn_ctrl_init Unexecuted instantiation: frontend.c:conn_ctrl_init Unexecuted instantiation: haproxy.c:conn_ctrl_init Unexecuted instantiation: http_ana.c:conn_ctrl_init Unexecuted instantiation: http_ext.c:conn_ctrl_init Unexecuted instantiation: http_htx.c:conn_ctrl_init Unexecuted instantiation: http_rules.c:conn_ctrl_init Unexecuted instantiation: limits.c:conn_ctrl_init Unexecuted instantiation: listener.c:conn_ctrl_init Unexecuted instantiation: log.c:conn_ctrl_init Unexecuted instantiation: mworker.c:conn_ctrl_init Unexecuted instantiation: peers.c:conn_ctrl_init Unexecuted instantiation: pool.c:conn_ctrl_init Unexecuted instantiation: proto_rhttp.c:conn_ctrl_init Unexecuted instantiation: proto_sockpair.c:conn_ctrl_init Unexecuted instantiation: proxy.c:conn_ctrl_init Unexecuted instantiation: queue.c:conn_ctrl_init Unexecuted instantiation: resolvers.c:conn_ctrl_init Unexecuted instantiation: ring.c:conn_ctrl_init Unexecuted instantiation: sample.c:conn_ctrl_init Unexecuted instantiation: server.c:conn_ctrl_init Unexecuted instantiation: session.c:conn_ctrl_init Unexecuted instantiation: sink.c:conn_ctrl_init Unexecuted instantiation: sock.c:conn_ctrl_init Unexecuted instantiation: stats-html.c:conn_ctrl_init Unexecuted instantiation: stats.c:conn_ctrl_init Unexecuted instantiation: stconn.c:conn_ctrl_init Unexecuted instantiation: stick_table.c:conn_ctrl_init Unexecuted instantiation: stream.c:conn_ctrl_init Unexecuted instantiation: tcp_rules.c:conn_ctrl_init Unexecuted instantiation: tcpcheck.c:conn_ctrl_init Unexecuted instantiation: thread.c:conn_ctrl_init Unexecuted instantiation: tools.c:conn_ctrl_init Unexecuted instantiation: trace.c:conn_ctrl_init Unexecuted instantiation: vars.c:conn_ctrl_init Unexecuted instantiation: activity.c:conn_ctrl_init Unexecuted instantiation: applet.c:conn_ctrl_init Unexecuted instantiation: backend.c:conn_ctrl_init Unexecuted instantiation: cache.c:conn_ctrl_init Unexecuted instantiation: cfgparse-global.c:conn_ctrl_init Unexecuted instantiation: cfgparse-listen.c:conn_ctrl_init Unexecuted instantiation: channel.c:conn_ctrl_init Unexecuted instantiation: check.c:conn_ctrl_init Unexecuted instantiation: compression.c:conn_ctrl_init Unexecuted instantiation: dns.c:conn_ctrl_init Unexecuted instantiation: dns_ring.c:conn_ctrl_init Unexecuted instantiation: fcgi-app.c:conn_ctrl_init Unexecuted instantiation: http_fetch.c:conn_ctrl_init Unexecuted instantiation: mux_spop.c:conn_ctrl_init Unexecuted instantiation: pattern.c:conn_ctrl_init Unexecuted instantiation: payload.c:conn_ctrl_init Unexecuted instantiation: proto_tcp.c:conn_ctrl_init Unexecuted instantiation: stats-json.c:conn_ctrl_init Unexecuted instantiation: stats-proxy.c:conn_ctrl_init Unexecuted instantiation: flt_spoe.c:conn_ctrl_init |
181 | | |
182 | | /* Deletes the connection's handle (e.g. FD) if the transport layer is already |
183 | | * gone, and removes the CO_FL_CTRL_READY flag. |
184 | | */ |
185 | | static inline void conn_ctrl_close(struct connection *conn) |
186 | 0 | { |
187 | 0 | if (!conn->xprt && (conn->flags & CO_FL_CTRL_READY)) { |
188 | 0 | if ((conn->flags & (CO_FL_WANT_DRAIN | CO_FL_SOCK_RD_SH)) == CO_FL_WANT_DRAIN) |
189 | 0 | conn_ctrl_drain(conn); |
190 | 0 | conn->flags &= ~CO_FL_CTRL_READY; |
191 | 0 | if (conn->ctrl->ctrl_close) |
192 | 0 | conn->ctrl->ctrl_close(conn); |
193 | 0 | } |
194 | 0 | } Unexecuted instantiation: cfgparse.c:conn_ctrl_close Unexecuted instantiation: cli.c:conn_ctrl_close Unexecuted instantiation: connection.c:conn_ctrl_close Unexecuted instantiation: debug.c:conn_ctrl_close Unexecuted instantiation: errors.c:conn_ctrl_close Unexecuted instantiation: fd.c:conn_ctrl_close Unexecuted instantiation: filters.c:conn_ctrl_close Unexecuted instantiation: flt_http_comp.c:conn_ctrl_close Unexecuted instantiation: frontend.c:conn_ctrl_close Unexecuted instantiation: haproxy.c:conn_ctrl_close Unexecuted instantiation: http_ana.c:conn_ctrl_close Unexecuted instantiation: http_ext.c:conn_ctrl_close Unexecuted instantiation: http_htx.c:conn_ctrl_close Unexecuted instantiation: http_rules.c:conn_ctrl_close Unexecuted instantiation: limits.c:conn_ctrl_close Unexecuted instantiation: listener.c:conn_ctrl_close Unexecuted instantiation: log.c:conn_ctrl_close Unexecuted instantiation: mworker.c:conn_ctrl_close Unexecuted instantiation: peers.c:conn_ctrl_close Unexecuted instantiation: pool.c:conn_ctrl_close Unexecuted instantiation: proto_rhttp.c:conn_ctrl_close Unexecuted instantiation: proto_sockpair.c:conn_ctrl_close Unexecuted instantiation: proxy.c:conn_ctrl_close Unexecuted instantiation: queue.c:conn_ctrl_close Unexecuted instantiation: resolvers.c:conn_ctrl_close Unexecuted instantiation: ring.c:conn_ctrl_close Unexecuted instantiation: sample.c:conn_ctrl_close Unexecuted instantiation: server.c:conn_ctrl_close Unexecuted instantiation: session.c:conn_ctrl_close Unexecuted instantiation: sink.c:conn_ctrl_close Unexecuted instantiation: sock.c:conn_ctrl_close Unexecuted instantiation: stats-html.c:conn_ctrl_close Unexecuted instantiation: stats.c:conn_ctrl_close Unexecuted instantiation: stconn.c:conn_ctrl_close Unexecuted instantiation: stick_table.c:conn_ctrl_close Unexecuted instantiation: stream.c:conn_ctrl_close Unexecuted instantiation: tcp_rules.c:conn_ctrl_close Unexecuted instantiation: tcpcheck.c:conn_ctrl_close Unexecuted instantiation: thread.c:conn_ctrl_close Unexecuted instantiation: tools.c:conn_ctrl_close Unexecuted instantiation: trace.c:conn_ctrl_close Unexecuted instantiation: vars.c:conn_ctrl_close Unexecuted instantiation: activity.c:conn_ctrl_close Unexecuted instantiation: applet.c:conn_ctrl_close Unexecuted instantiation: backend.c:conn_ctrl_close Unexecuted instantiation: cache.c:conn_ctrl_close Unexecuted instantiation: cfgparse-global.c:conn_ctrl_close Unexecuted instantiation: cfgparse-listen.c:conn_ctrl_close Unexecuted instantiation: channel.c:conn_ctrl_close Unexecuted instantiation: check.c:conn_ctrl_close Unexecuted instantiation: compression.c:conn_ctrl_close Unexecuted instantiation: dns.c:conn_ctrl_close Unexecuted instantiation: dns_ring.c:conn_ctrl_close Unexecuted instantiation: fcgi-app.c:conn_ctrl_close Unexecuted instantiation: http_fetch.c:conn_ctrl_close Unexecuted instantiation: mux_spop.c:conn_ctrl_close Unexecuted instantiation: pattern.c:conn_ctrl_close Unexecuted instantiation: payload.c:conn_ctrl_close Unexecuted instantiation: proto_tcp.c:conn_ctrl_close Unexecuted instantiation: stats-json.c:conn_ctrl_close Unexecuted instantiation: stats-proxy.c:conn_ctrl_close Unexecuted instantiation: flt_spoe.c:conn_ctrl_close |
195 | | |
196 | | /* If the connection still has a transport layer, then call its close() function |
197 | | * if any, and delete the file descriptor if a control layer is set. This is |
198 | | * used to close everything at once and atomically. However this is not done if |
199 | | * the CO_FL_XPRT_TRACKED flag is set, which allows logs to take data from the |
200 | | * transport layer very late if needed. |
201 | | */ |
202 | | static inline void conn_full_close(struct connection *conn) |
203 | 0 | { |
204 | 0 | conn_xprt_close(conn); |
205 | 0 | conn_ctrl_close(conn); |
206 | 0 | } Unexecuted instantiation: cfgparse.c:conn_full_close Unexecuted instantiation: cli.c:conn_full_close Unexecuted instantiation: connection.c:conn_full_close Unexecuted instantiation: debug.c:conn_full_close Unexecuted instantiation: errors.c:conn_full_close Unexecuted instantiation: fd.c:conn_full_close Unexecuted instantiation: filters.c:conn_full_close Unexecuted instantiation: flt_http_comp.c:conn_full_close Unexecuted instantiation: frontend.c:conn_full_close Unexecuted instantiation: haproxy.c:conn_full_close Unexecuted instantiation: http_ana.c:conn_full_close Unexecuted instantiation: http_ext.c:conn_full_close Unexecuted instantiation: http_htx.c:conn_full_close Unexecuted instantiation: http_rules.c:conn_full_close Unexecuted instantiation: limits.c:conn_full_close Unexecuted instantiation: listener.c:conn_full_close Unexecuted instantiation: log.c:conn_full_close Unexecuted instantiation: mworker.c:conn_full_close Unexecuted instantiation: peers.c:conn_full_close Unexecuted instantiation: pool.c:conn_full_close Unexecuted instantiation: proto_rhttp.c:conn_full_close Unexecuted instantiation: proto_sockpair.c:conn_full_close Unexecuted instantiation: proxy.c:conn_full_close Unexecuted instantiation: queue.c:conn_full_close Unexecuted instantiation: resolvers.c:conn_full_close Unexecuted instantiation: ring.c:conn_full_close Unexecuted instantiation: sample.c:conn_full_close Unexecuted instantiation: server.c:conn_full_close Unexecuted instantiation: session.c:conn_full_close Unexecuted instantiation: sink.c:conn_full_close Unexecuted instantiation: sock.c:conn_full_close Unexecuted instantiation: stats-html.c:conn_full_close Unexecuted instantiation: stats.c:conn_full_close Unexecuted instantiation: stconn.c:conn_full_close Unexecuted instantiation: stick_table.c:conn_full_close Unexecuted instantiation: stream.c:conn_full_close Unexecuted instantiation: tcp_rules.c:conn_full_close Unexecuted instantiation: tcpcheck.c:conn_full_close Unexecuted instantiation: thread.c:conn_full_close Unexecuted instantiation: tools.c:conn_full_close Unexecuted instantiation: trace.c:conn_full_close Unexecuted instantiation: vars.c:conn_full_close Unexecuted instantiation: activity.c:conn_full_close Unexecuted instantiation: applet.c:conn_full_close Unexecuted instantiation: backend.c:conn_full_close Unexecuted instantiation: cache.c:conn_full_close Unexecuted instantiation: cfgparse-global.c:conn_full_close Unexecuted instantiation: cfgparse-listen.c:conn_full_close Unexecuted instantiation: channel.c:conn_full_close Unexecuted instantiation: check.c:conn_full_close Unexecuted instantiation: compression.c:conn_full_close Unexecuted instantiation: dns.c:conn_full_close Unexecuted instantiation: dns_ring.c:conn_full_close Unexecuted instantiation: fcgi-app.c:conn_full_close Unexecuted instantiation: http_fetch.c:conn_full_close Unexecuted instantiation: mux_spop.c:conn_full_close Unexecuted instantiation: pattern.c:conn_full_close Unexecuted instantiation: payload.c:conn_full_close Unexecuted instantiation: proto_tcp.c:conn_full_close Unexecuted instantiation: stats-json.c:conn_full_close Unexecuted instantiation: stats-proxy.c:conn_full_close Unexecuted instantiation: flt_spoe.c:conn_full_close |
207 | | |
208 | | /* stop tracking a connection, allowing conn_full_close() to always |
209 | | * succeed. |
210 | | */ |
211 | | static inline void conn_stop_tracking(struct connection *conn) |
212 | 0 | { |
213 | 0 | conn->flags &= ~CO_FL_XPRT_TRACKED; |
214 | 0 | } Unexecuted instantiation: cfgparse.c:conn_stop_tracking Unexecuted instantiation: cli.c:conn_stop_tracking Unexecuted instantiation: connection.c:conn_stop_tracking Unexecuted instantiation: debug.c:conn_stop_tracking Unexecuted instantiation: errors.c:conn_stop_tracking Unexecuted instantiation: fd.c:conn_stop_tracking Unexecuted instantiation: filters.c:conn_stop_tracking Unexecuted instantiation: flt_http_comp.c:conn_stop_tracking Unexecuted instantiation: frontend.c:conn_stop_tracking Unexecuted instantiation: haproxy.c:conn_stop_tracking Unexecuted instantiation: http_ana.c:conn_stop_tracking Unexecuted instantiation: http_ext.c:conn_stop_tracking Unexecuted instantiation: http_htx.c:conn_stop_tracking Unexecuted instantiation: http_rules.c:conn_stop_tracking Unexecuted instantiation: limits.c:conn_stop_tracking Unexecuted instantiation: listener.c:conn_stop_tracking Unexecuted instantiation: log.c:conn_stop_tracking Unexecuted instantiation: mworker.c:conn_stop_tracking Unexecuted instantiation: peers.c:conn_stop_tracking Unexecuted instantiation: pool.c:conn_stop_tracking Unexecuted instantiation: proto_rhttp.c:conn_stop_tracking Unexecuted instantiation: proto_sockpair.c:conn_stop_tracking Unexecuted instantiation: proxy.c:conn_stop_tracking Unexecuted instantiation: queue.c:conn_stop_tracking Unexecuted instantiation: resolvers.c:conn_stop_tracking Unexecuted instantiation: ring.c:conn_stop_tracking Unexecuted instantiation: sample.c:conn_stop_tracking Unexecuted instantiation: server.c:conn_stop_tracking Unexecuted instantiation: session.c:conn_stop_tracking Unexecuted instantiation: sink.c:conn_stop_tracking Unexecuted instantiation: sock.c:conn_stop_tracking Unexecuted instantiation: stats-html.c:conn_stop_tracking Unexecuted instantiation: stats.c:conn_stop_tracking Unexecuted instantiation: stconn.c:conn_stop_tracking Unexecuted instantiation: stick_table.c:conn_stop_tracking Unexecuted instantiation: stream.c:conn_stop_tracking Unexecuted instantiation: tcp_rules.c:conn_stop_tracking Unexecuted instantiation: tcpcheck.c:conn_stop_tracking Unexecuted instantiation: thread.c:conn_stop_tracking Unexecuted instantiation: tools.c:conn_stop_tracking Unexecuted instantiation: trace.c:conn_stop_tracking Unexecuted instantiation: vars.c:conn_stop_tracking Unexecuted instantiation: activity.c:conn_stop_tracking Unexecuted instantiation: applet.c:conn_stop_tracking Unexecuted instantiation: backend.c:conn_stop_tracking Unexecuted instantiation: cache.c:conn_stop_tracking Unexecuted instantiation: cfgparse-global.c:conn_stop_tracking Unexecuted instantiation: cfgparse-listen.c:conn_stop_tracking Unexecuted instantiation: channel.c:conn_stop_tracking Unexecuted instantiation: check.c:conn_stop_tracking Unexecuted instantiation: compression.c:conn_stop_tracking Unexecuted instantiation: dns.c:conn_stop_tracking Unexecuted instantiation: dns_ring.c:conn_stop_tracking Unexecuted instantiation: fcgi-app.c:conn_stop_tracking Unexecuted instantiation: http_fetch.c:conn_stop_tracking Unexecuted instantiation: mux_spop.c:conn_stop_tracking Unexecuted instantiation: pattern.c:conn_stop_tracking Unexecuted instantiation: payload.c:conn_stop_tracking Unexecuted instantiation: proto_tcp.c:conn_stop_tracking Unexecuted instantiation: stats-json.c:conn_stop_tracking Unexecuted instantiation: stats-proxy.c:conn_stop_tracking Unexecuted instantiation: flt_spoe.c:conn_stop_tracking |
215 | | |
216 | | /* returns the connection's FD if the connection exists, its control is ready, |
217 | | * and the connection has an FD, otherwise -1. |
218 | | */ |
219 | | static inline int conn_fd(const struct connection *conn) |
220 | 0 | { |
221 | 0 | if (!conn || !conn_ctrl_ready(conn) || (conn->flags & CO_FL_FDLESS)) |
222 | 0 | return -1; |
223 | 0 | return conn->handle.fd; |
224 | 0 | } Unexecuted instantiation: cfgparse.c:conn_fd Unexecuted instantiation: cli.c:conn_fd Unexecuted instantiation: connection.c:conn_fd Unexecuted instantiation: debug.c:conn_fd Unexecuted instantiation: errors.c:conn_fd Unexecuted instantiation: fd.c:conn_fd Unexecuted instantiation: filters.c:conn_fd Unexecuted instantiation: flt_http_comp.c:conn_fd Unexecuted instantiation: frontend.c:conn_fd Unexecuted instantiation: haproxy.c:conn_fd Unexecuted instantiation: http_ana.c:conn_fd Unexecuted instantiation: http_ext.c:conn_fd Unexecuted instantiation: http_htx.c:conn_fd Unexecuted instantiation: http_rules.c:conn_fd Unexecuted instantiation: limits.c:conn_fd Unexecuted instantiation: listener.c:conn_fd Unexecuted instantiation: log.c:conn_fd Unexecuted instantiation: mworker.c:conn_fd Unexecuted instantiation: peers.c:conn_fd Unexecuted instantiation: pool.c:conn_fd Unexecuted instantiation: proto_rhttp.c:conn_fd Unexecuted instantiation: proto_sockpair.c:conn_fd Unexecuted instantiation: proxy.c:conn_fd Unexecuted instantiation: queue.c:conn_fd Unexecuted instantiation: resolvers.c:conn_fd Unexecuted instantiation: ring.c:conn_fd Unexecuted instantiation: sample.c:conn_fd Unexecuted instantiation: server.c:conn_fd Unexecuted instantiation: session.c:conn_fd Unexecuted instantiation: sink.c:conn_fd Unexecuted instantiation: sock.c:conn_fd Unexecuted instantiation: stats-html.c:conn_fd Unexecuted instantiation: stats.c:conn_fd Unexecuted instantiation: stconn.c:conn_fd Unexecuted instantiation: stick_table.c:conn_fd Unexecuted instantiation: stream.c:conn_fd Unexecuted instantiation: tcp_rules.c:conn_fd Unexecuted instantiation: tcpcheck.c:conn_fd Unexecuted instantiation: thread.c:conn_fd Unexecuted instantiation: tools.c:conn_fd Unexecuted instantiation: trace.c:conn_fd Unexecuted instantiation: vars.c:conn_fd Unexecuted instantiation: activity.c:conn_fd Unexecuted instantiation: applet.c:conn_fd Unexecuted instantiation: backend.c:conn_fd Unexecuted instantiation: cache.c:conn_fd Unexecuted instantiation: cfgparse-global.c:conn_fd Unexecuted instantiation: cfgparse-listen.c:conn_fd Unexecuted instantiation: channel.c:conn_fd Unexecuted instantiation: check.c:conn_fd Unexecuted instantiation: compression.c:conn_fd Unexecuted instantiation: dns.c:conn_fd Unexecuted instantiation: dns_ring.c:conn_fd Unexecuted instantiation: fcgi-app.c:conn_fd Unexecuted instantiation: http_fetch.c:conn_fd Unexecuted instantiation: mux_spop.c:conn_fd Unexecuted instantiation: pattern.c:conn_fd Unexecuted instantiation: payload.c:conn_fd Unexecuted instantiation: proto_tcp.c:conn_fd Unexecuted instantiation: stats-json.c:conn_fd Unexecuted instantiation: stats-proxy.c:conn_fd Unexecuted instantiation: flt_spoe.c:conn_fd |
225 | | |
226 | | /* read shutdown, called from the rcv_buf/rcv_pipe handlers when |
227 | | * detecting an end of connection. |
228 | | */ |
229 | | static inline void conn_sock_read0(struct connection *c) |
230 | 0 | { |
231 | 0 | c->flags |= CO_FL_SOCK_RD_SH; |
232 | 0 | if (conn_ctrl_ready(c)) { |
233 | 0 | /* we don't risk keeping ports unusable if we found the |
234 | 0 | * zero from the other side. |
235 | 0 | */ |
236 | 0 | BUG_ON(c->flags & CO_FL_FDLESS); |
237 | 0 | HA_ATOMIC_AND(&fdtab[c->handle.fd].state, ~FD_LINGER_RISK); |
238 | 0 | } |
239 | 0 | } Unexecuted instantiation: cfgparse.c:conn_sock_read0 Unexecuted instantiation: cli.c:conn_sock_read0 Unexecuted instantiation: connection.c:conn_sock_read0 Unexecuted instantiation: debug.c:conn_sock_read0 Unexecuted instantiation: errors.c:conn_sock_read0 Unexecuted instantiation: fd.c:conn_sock_read0 Unexecuted instantiation: filters.c:conn_sock_read0 Unexecuted instantiation: flt_http_comp.c:conn_sock_read0 Unexecuted instantiation: frontend.c:conn_sock_read0 Unexecuted instantiation: haproxy.c:conn_sock_read0 Unexecuted instantiation: http_ana.c:conn_sock_read0 Unexecuted instantiation: http_ext.c:conn_sock_read0 Unexecuted instantiation: http_htx.c:conn_sock_read0 Unexecuted instantiation: http_rules.c:conn_sock_read0 Unexecuted instantiation: limits.c:conn_sock_read0 Unexecuted instantiation: listener.c:conn_sock_read0 Unexecuted instantiation: log.c:conn_sock_read0 Unexecuted instantiation: mworker.c:conn_sock_read0 Unexecuted instantiation: peers.c:conn_sock_read0 Unexecuted instantiation: pool.c:conn_sock_read0 Unexecuted instantiation: proto_rhttp.c:conn_sock_read0 Unexecuted instantiation: proto_sockpair.c:conn_sock_read0 Unexecuted instantiation: proxy.c:conn_sock_read0 Unexecuted instantiation: queue.c:conn_sock_read0 Unexecuted instantiation: resolvers.c:conn_sock_read0 Unexecuted instantiation: ring.c:conn_sock_read0 Unexecuted instantiation: sample.c:conn_sock_read0 Unexecuted instantiation: server.c:conn_sock_read0 Unexecuted instantiation: session.c:conn_sock_read0 Unexecuted instantiation: sink.c:conn_sock_read0 Unexecuted instantiation: sock.c:conn_sock_read0 Unexecuted instantiation: stats-html.c:conn_sock_read0 Unexecuted instantiation: stats.c:conn_sock_read0 Unexecuted instantiation: stconn.c:conn_sock_read0 Unexecuted instantiation: stick_table.c:conn_sock_read0 Unexecuted instantiation: stream.c:conn_sock_read0 Unexecuted instantiation: tcp_rules.c:conn_sock_read0 Unexecuted instantiation: tcpcheck.c:conn_sock_read0 Unexecuted instantiation: thread.c:conn_sock_read0 Unexecuted instantiation: tools.c:conn_sock_read0 Unexecuted instantiation: trace.c:conn_sock_read0 Unexecuted instantiation: vars.c:conn_sock_read0 Unexecuted instantiation: activity.c:conn_sock_read0 Unexecuted instantiation: applet.c:conn_sock_read0 Unexecuted instantiation: backend.c:conn_sock_read0 Unexecuted instantiation: cache.c:conn_sock_read0 Unexecuted instantiation: cfgparse-global.c:conn_sock_read0 Unexecuted instantiation: cfgparse-listen.c:conn_sock_read0 Unexecuted instantiation: channel.c:conn_sock_read0 Unexecuted instantiation: check.c:conn_sock_read0 Unexecuted instantiation: compression.c:conn_sock_read0 Unexecuted instantiation: dns.c:conn_sock_read0 Unexecuted instantiation: dns_ring.c:conn_sock_read0 Unexecuted instantiation: fcgi-app.c:conn_sock_read0 Unexecuted instantiation: http_fetch.c:conn_sock_read0 Unexecuted instantiation: mux_spop.c:conn_sock_read0 Unexecuted instantiation: pattern.c:conn_sock_read0 Unexecuted instantiation: payload.c:conn_sock_read0 Unexecuted instantiation: proto_tcp.c:conn_sock_read0 Unexecuted instantiation: stats-json.c:conn_sock_read0 Unexecuted instantiation: stats-proxy.c:conn_sock_read0 Unexecuted instantiation: flt_spoe.c:conn_sock_read0 |
240 | | |
241 | | /* write shutdown, indication that the upper layer is not willing to send |
242 | | * anything anymore and wants to close after pending data are sent. The |
243 | | * <clean> argument will allow not to perform the socket layer shutdown if |
244 | | * equal to 0. |
245 | | */ |
246 | | static inline void conn_sock_shutw(struct connection *c, int clean) |
247 | 0 | { |
248 | 0 | c->flags |= CO_FL_SOCK_WR_SH; |
249 | 0 | if (conn_ctrl_ready(c)) { |
250 | | /* don't perform a clean shutdown if we're going to reset or |
251 | | * if the shutr was already received. |
252 | | */ |
253 | 0 | BUG_ON(c->flags & CO_FL_FDLESS); |
254 | 0 | if (!(c->flags & CO_FL_SOCK_RD_SH) && clean) |
255 | 0 | shutdown(c->handle.fd, SHUT_WR); |
256 | 0 | } |
257 | 0 | conn_report_term_evt(c, tevt_loc_fd, fd_tevt_type_shutw); |
258 | 0 | } Unexecuted instantiation: cfgparse.c:conn_sock_shutw Unexecuted instantiation: cli.c:conn_sock_shutw Unexecuted instantiation: connection.c:conn_sock_shutw Unexecuted instantiation: debug.c:conn_sock_shutw Unexecuted instantiation: errors.c:conn_sock_shutw Unexecuted instantiation: fd.c:conn_sock_shutw Unexecuted instantiation: filters.c:conn_sock_shutw Unexecuted instantiation: flt_http_comp.c:conn_sock_shutw Unexecuted instantiation: frontend.c:conn_sock_shutw Unexecuted instantiation: haproxy.c:conn_sock_shutw Unexecuted instantiation: http_ana.c:conn_sock_shutw Unexecuted instantiation: http_ext.c:conn_sock_shutw Unexecuted instantiation: http_htx.c:conn_sock_shutw Unexecuted instantiation: http_rules.c:conn_sock_shutw Unexecuted instantiation: limits.c:conn_sock_shutw Unexecuted instantiation: listener.c:conn_sock_shutw Unexecuted instantiation: log.c:conn_sock_shutw Unexecuted instantiation: mworker.c:conn_sock_shutw Unexecuted instantiation: peers.c:conn_sock_shutw Unexecuted instantiation: pool.c:conn_sock_shutw Unexecuted instantiation: proto_rhttp.c:conn_sock_shutw Unexecuted instantiation: proto_sockpair.c:conn_sock_shutw Unexecuted instantiation: proxy.c:conn_sock_shutw Unexecuted instantiation: queue.c:conn_sock_shutw Unexecuted instantiation: resolvers.c:conn_sock_shutw Unexecuted instantiation: ring.c:conn_sock_shutw Unexecuted instantiation: sample.c:conn_sock_shutw Unexecuted instantiation: server.c:conn_sock_shutw Unexecuted instantiation: session.c:conn_sock_shutw Unexecuted instantiation: sink.c:conn_sock_shutw Unexecuted instantiation: sock.c:conn_sock_shutw Unexecuted instantiation: stats-html.c:conn_sock_shutw Unexecuted instantiation: stats.c:conn_sock_shutw Unexecuted instantiation: stconn.c:conn_sock_shutw Unexecuted instantiation: stick_table.c:conn_sock_shutw Unexecuted instantiation: stream.c:conn_sock_shutw Unexecuted instantiation: tcp_rules.c:conn_sock_shutw Unexecuted instantiation: tcpcheck.c:conn_sock_shutw Unexecuted instantiation: thread.c:conn_sock_shutw Unexecuted instantiation: tools.c:conn_sock_shutw Unexecuted instantiation: trace.c:conn_sock_shutw Unexecuted instantiation: vars.c:conn_sock_shutw Unexecuted instantiation: activity.c:conn_sock_shutw Unexecuted instantiation: applet.c:conn_sock_shutw Unexecuted instantiation: backend.c:conn_sock_shutw Unexecuted instantiation: cache.c:conn_sock_shutw Unexecuted instantiation: cfgparse-global.c:conn_sock_shutw Unexecuted instantiation: cfgparse-listen.c:conn_sock_shutw Unexecuted instantiation: channel.c:conn_sock_shutw Unexecuted instantiation: check.c:conn_sock_shutw Unexecuted instantiation: compression.c:conn_sock_shutw Unexecuted instantiation: dns.c:conn_sock_shutw Unexecuted instantiation: dns_ring.c:conn_sock_shutw Unexecuted instantiation: fcgi-app.c:conn_sock_shutw Unexecuted instantiation: http_fetch.c:conn_sock_shutw Unexecuted instantiation: mux_spop.c:conn_sock_shutw Unexecuted instantiation: pattern.c:conn_sock_shutw Unexecuted instantiation: payload.c:conn_sock_shutw Unexecuted instantiation: proto_tcp.c:conn_sock_shutw Unexecuted instantiation: stats-json.c:conn_sock_shutw Unexecuted instantiation: stats-proxy.c:conn_sock_shutw Unexecuted instantiation: flt_spoe.c:conn_sock_shutw |
259 | | |
260 | | static inline void conn_xprt_shutw(struct connection *c) |
261 | 0 | { |
262 | | /* clean data-layer shutdown */ |
263 | 0 | if (c->xprt && c->xprt->shutw) |
264 | 0 | c->xprt->shutw(c, c->xprt_ctx, 1); |
265 | 0 | } Unexecuted instantiation: cfgparse.c:conn_xprt_shutw Unexecuted instantiation: cli.c:conn_xprt_shutw Unexecuted instantiation: connection.c:conn_xprt_shutw Unexecuted instantiation: debug.c:conn_xprt_shutw Unexecuted instantiation: errors.c:conn_xprt_shutw Unexecuted instantiation: fd.c:conn_xprt_shutw Unexecuted instantiation: filters.c:conn_xprt_shutw Unexecuted instantiation: flt_http_comp.c:conn_xprt_shutw Unexecuted instantiation: frontend.c:conn_xprt_shutw Unexecuted instantiation: haproxy.c:conn_xprt_shutw Unexecuted instantiation: http_ana.c:conn_xprt_shutw Unexecuted instantiation: http_ext.c:conn_xprt_shutw Unexecuted instantiation: http_htx.c:conn_xprt_shutw Unexecuted instantiation: http_rules.c:conn_xprt_shutw Unexecuted instantiation: limits.c:conn_xprt_shutw Unexecuted instantiation: listener.c:conn_xprt_shutw Unexecuted instantiation: log.c:conn_xprt_shutw Unexecuted instantiation: mworker.c:conn_xprt_shutw Unexecuted instantiation: peers.c:conn_xprt_shutw Unexecuted instantiation: pool.c:conn_xprt_shutw Unexecuted instantiation: proto_rhttp.c:conn_xprt_shutw Unexecuted instantiation: proto_sockpair.c:conn_xprt_shutw Unexecuted instantiation: proxy.c:conn_xprt_shutw Unexecuted instantiation: queue.c:conn_xprt_shutw Unexecuted instantiation: resolvers.c:conn_xprt_shutw Unexecuted instantiation: ring.c:conn_xprt_shutw Unexecuted instantiation: sample.c:conn_xprt_shutw Unexecuted instantiation: server.c:conn_xprt_shutw Unexecuted instantiation: session.c:conn_xprt_shutw Unexecuted instantiation: sink.c:conn_xprt_shutw Unexecuted instantiation: sock.c:conn_xprt_shutw Unexecuted instantiation: stats-html.c:conn_xprt_shutw Unexecuted instantiation: stats.c:conn_xprt_shutw Unexecuted instantiation: stconn.c:conn_xprt_shutw Unexecuted instantiation: stick_table.c:conn_xprt_shutw Unexecuted instantiation: stream.c:conn_xprt_shutw Unexecuted instantiation: tcp_rules.c:conn_xprt_shutw Unexecuted instantiation: tcpcheck.c:conn_xprt_shutw Unexecuted instantiation: thread.c:conn_xprt_shutw Unexecuted instantiation: tools.c:conn_xprt_shutw Unexecuted instantiation: trace.c:conn_xprt_shutw Unexecuted instantiation: vars.c:conn_xprt_shutw Unexecuted instantiation: activity.c:conn_xprt_shutw Unexecuted instantiation: applet.c:conn_xprt_shutw Unexecuted instantiation: backend.c:conn_xprt_shutw Unexecuted instantiation: cache.c:conn_xprt_shutw Unexecuted instantiation: cfgparse-global.c:conn_xprt_shutw Unexecuted instantiation: cfgparse-listen.c:conn_xprt_shutw Unexecuted instantiation: channel.c:conn_xprt_shutw Unexecuted instantiation: check.c:conn_xprt_shutw Unexecuted instantiation: compression.c:conn_xprt_shutw Unexecuted instantiation: dns.c:conn_xprt_shutw Unexecuted instantiation: dns_ring.c:conn_xprt_shutw Unexecuted instantiation: fcgi-app.c:conn_xprt_shutw Unexecuted instantiation: http_fetch.c:conn_xprt_shutw Unexecuted instantiation: mux_spop.c:conn_xprt_shutw Unexecuted instantiation: pattern.c:conn_xprt_shutw Unexecuted instantiation: payload.c:conn_xprt_shutw Unexecuted instantiation: proto_tcp.c:conn_xprt_shutw Unexecuted instantiation: stats-json.c:conn_xprt_shutw Unexecuted instantiation: stats-proxy.c:conn_xprt_shutw Unexecuted instantiation: flt_spoe.c:conn_xprt_shutw |
266 | | |
267 | | static inline void conn_xprt_shutw_hard(struct connection *c) |
268 | 0 | { |
269 | 0 | /* unclean data-layer shutdown */ |
270 | 0 | if (c->xprt && c->xprt->shutw) |
271 | 0 | c->xprt->shutw(c, c->xprt_ctx, 0); |
272 | 0 | } Unexecuted instantiation: cfgparse.c:conn_xprt_shutw_hard Unexecuted instantiation: cli.c:conn_xprt_shutw_hard Unexecuted instantiation: connection.c:conn_xprt_shutw_hard Unexecuted instantiation: debug.c:conn_xprt_shutw_hard Unexecuted instantiation: errors.c:conn_xprt_shutw_hard Unexecuted instantiation: fd.c:conn_xprt_shutw_hard Unexecuted instantiation: filters.c:conn_xprt_shutw_hard Unexecuted instantiation: flt_http_comp.c:conn_xprt_shutw_hard Unexecuted instantiation: frontend.c:conn_xprt_shutw_hard Unexecuted instantiation: haproxy.c:conn_xprt_shutw_hard Unexecuted instantiation: http_ana.c:conn_xprt_shutw_hard Unexecuted instantiation: http_ext.c:conn_xprt_shutw_hard Unexecuted instantiation: http_htx.c:conn_xprt_shutw_hard Unexecuted instantiation: http_rules.c:conn_xprt_shutw_hard Unexecuted instantiation: limits.c:conn_xprt_shutw_hard Unexecuted instantiation: listener.c:conn_xprt_shutw_hard Unexecuted instantiation: log.c:conn_xprt_shutw_hard Unexecuted instantiation: mworker.c:conn_xprt_shutw_hard Unexecuted instantiation: peers.c:conn_xprt_shutw_hard Unexecuted instantiation: pool.c:conn_xprt_shutw_hard Unexecuted instantiation: proto_rhttp.c:conn_xprt_shutw_hard Unexecuted instantiation: proto_sockpair.c:conn_xprt_shutw_hard Unexecuted instantiation: proxy.c:conn_xprt_shutw_hard Unexecuted instantiation: queue.c:conn_xprt_shutw_hard Unexecuted instantiation: resolvers.c:conn_xprt_shutw_hard Unexecuted instantiation: ring.c:conn_xprt_shutw_hard Unexecuted instantiation: sample.c:conn_xprt_shutw_hard Unexecuted instantiation: server.c:conn_xprt_shutw_hard Unexecuted instantiation: session.c:conn_xprt_shutw_hard Unexecuted instantiation: sink.c:conn_xprt_shutw_hard Unexecuted instantiation: sock.c:conn_xprt_shutw_hard Unexecuted instantiation: stats-html.c:conn_xprt_shutw_hard Unexecuted instantiation: stats.c:conn_xprt_shutw_hard Unexecuted instantiation: stconn.c:conn_xprt_shutw_hard Unexecuted instantiation: stick_table.c:conn_xprt_shutw_hard Unexecuted instantiation: stream.c:conn_xprt_shutw_hard Unexecuted instantiation: tcp_rules.c:conn_xprt_shutw_hard Unexecuted instantiation: tcpcheck.c:conn_xprt_shutw_hard Unexecuted instantiation: thread.c:conn_xprt_shutw_hard Unexecuted instantiation: tools.c:conn_xprt_shutw_hard Unexecuted instantiation: trace.c:conn_xprt_shutw_hard Unexecuted instantiation: vars.c:conn_xprt_shutw_hard Unexecuted instantiation: activity.c:conn_xprt_shutw_hard Unexecuted instantiation: applet.c:conn_xprt_shutw_hard Unexecuted instantiation: backend.c:conn_xprt_shutw_hard Unexecuted instantiation: cache.c:conn_xprt_shutw_hard Unexecuted instantiation: cfgparse-global.c:conn_xprt_shutw_hard Unexecuted instantiation: cfgparse-listen.c:conn_xprt_shutw_hard Unexecuted instantiation: channel.c:conn_xprt_shutw_hard Unexecuted instantiation: check.c:conn_xprt_shutw_hard Unexecuted instantiation: compression.c:conn_xprt_shutw_hard Unexecuted instantiation: dns.c:conn_xprt_shutw_hard Unexecuted instantiation: dns_ring.c:conn_xprt_shutw_hard Unexecuted instantiation: fcgi-app.c:conn_xprt_shutw_hard Unexecuted instantiation: http_fetch.c:conn_xprt_shutw_hard Unexecuted instantiation: mux_spop.c:conn_xprt_shutw_hard Unexecuted instantiation: pattern.c:conn_xprt_shutw_hard Unexecuted instantiation: payload.c:conn_xprt_shutw_hard Unexecuted instantiation: proto_tcp.c:conn_xprt_shutw_hard Unexecuted instantiation: stats-json.c:conn_xprt_shutw_hard Unexecuted instantiation: stats-proxy.c:conn_xprt_shutw_hard Unexecuted instantiation: flt_spoe.c:conn_xprt_shutw_hard |
273 | | |
274 | | |
275 | | /* detect sock->data read0 transition */ |
276 | | static inline int conn_xprt_read0_pending(struct connection *c) |
277 | 0 | { |
278 | 0 | return (c->flags & CO_FL_SOCK_RD_SH) != 0; |
279 | 0 | } Unexecuted instantiation: cfgparse.c:conn_xprt_read0_pending Unexecuted instantiation: cli.c:conn_xprt_read0_pending Unexecuted instantiation: connection.c:conn_xprt_read0_pending Unexecuted instantiation: debug.c:conn_xprt_read0_pending Unexecuted instantiation: errors.c:conn_xprt_read0_pending Unexecuted instantiation: fd.c:conn_xprt_read0_pending Unexecuted instantiation: filters.c:conn_xprt_read0_pending Unexecuted instantiation: flt_http_comp.c:conn_xprt_read0_pending Unexecuted instantiation: frontend.c:conn_xprt_read0_pending Unexecuted instantiation: haproxy.c:conn_xprt_read0_pending Unexecuted instantiation: http_ana.c:conn_xprt_read0_pending Unexecuted instantiation: http_ext.c:conn_xprt_read0_pending Unexecuted instantiation: http_htx.c:conn_xprt_read0_pending Unexecuted instantiation: http_rules.c:conn_xprt_read0_pending Unexecuted instantiation: limits.c:conn_xprt_read0_pending Unexecuted instantiation: listener.c:conn_xprt_read0_pending Unexecuted instantiation: log.c:conn_xprt_read0_pending Unexecuted instantiation: mworker.c:conn_xprt_read0_pending Unexecuted instantiation: peers.c:conn_xprt_read0_pending Unexecuted instantiation: pool.c:conn_xprt_read0_pending Unexecuted instantiation: proto_rhttp.c:conn_xprt_read0_pending Unexecuted instantiation: proto_sockpair.c:conn_xprt_read0_pending Unexecuted instantiation: proxy.c:conn_xprt_read0_pending Unexecuted instantiation: queue.c:conn_xprt_read0_pending Unexecuted instantiation: resolvers.c:conn_xprt_read0_pending Unexecuted instantiation: ring.c:conn_xprt_read0_pending Unexecuted instantiation: sample.c:conn_xprt_read0_pending Unexecuted instantiation: server.c:conn_xprt_read0_pending Unexecuted instantiation: session.c:conn_xprt_read0_pending Unexecuted instantiation: sink.c:conn_xprt_read0_pending Unexecuted instantiation: sock.c:conn_xprt_read0_pending Unexecuted instantiation: stats-html.c:conn_xprt_read0_pending Unexecuted instantiation: stats.c:conn_xprt_read0_pending Unexecuted instantiation: stconn.c:conn_xprt_read0_pending Unexecuted instantiation: stick_table.c:conn_xprt_read0_pending Unexecuted instantiation: stream.c:conn_xprt_read0_pending Unexecuted instantiation: tcp_rules.c:conn_xprt_read0_pending Unexecuted instantiation: tcpcheck.c:conn_xprt_read0_pending Unexecuted instantiation: thread.c:conn_xprt_read0_pending Unexecuted instantiation: tools.c:conn_xprt_read0_pending Unexecuted instantiation: trace.c:conn_xprt_read0_pending Unexecuted instantiation: vars.c:conn_xprt_read0_pending Unexecuted instantiation: activity.c:conn_xprt_read0_pending Unexecuted instantiation: applet.c:conn_xprt_read0_pending Unexecuted instantiation: backend.c:conn_xprt_read0_pending Unexecuted instantiation: cache.c:conn_xprt_read0_pending Unexecuted instantiation: cfgparse-global.c:conn_xprt_read0_pending Unexecuted instantiation: cfgparse-listen.c:conn_xprt_read0_pending Unexecuted instantiation: channel.c:conn_xprt_read0_pending Unexecuted instantiation: check.c:conn_xprt_read0_pending Unexecuted instantiation: compression.c:conn_xprt_read0_pending Unexecuted instantiation: dns.c:conn_xprt_read0_pending Unexecuted instantiation: dns_ring.c:conn_xprt_read0_pending Unexecuted instantiation: fcgi-app.c:conn_xprt_read0_pending Unexecuted instantiation: http_fetch.c:conn_xprt_read0_pending Unexecuted instantiation: mux_spop.c:conn_xprt_read0_pending Unexecuted instantiation: pattern.c:conn_xprt_read0_pending Unexecuted instantiation: payload.c:conn_xprt_read0_pending Unexecuted instantiation: proto_tcp.c:conn_xprt_read0_pending Unexecuted instantiation: stats-json.c:conn_xprt_read0_pending Unexecuted instantiation: stats-proxy.c:conn_xprt_read0_pending Unexecuted instantiation: flt_spoe.c:conn_xprt_read0_pending |
280 | | |
281 | | /* prepares a connection to work with protocol <proto> and transport <xprt>. |
282 | | * The transport's is initialized as well, and the mux and its context are |
283 | | * cleared. The target is not reinitialized and it is recommended that it is |
284 | | * set prior to calling this function so that the function may make use of it |
285 | | * in the future to refine the mux choice if needed. |
286 | | */ |
287 | | static inline int conn_prepare(struct connection *conn, const struct protocol *proto, const struct xprt_ops *xprt) |
288 | 0 | { |
289 | 0 | int ret = 0; |
290 | |
|
291 | 0 | conn->ctrl = proto; |
292 | 0 | conn->xprt = xprt; |
293 | 0 | conn->mux = NULL; |
294 | 0 | conn->xprt_ctx = NULL; |
295 | 0 | conn->ctx = NULL; |
296 | 0 | if (xprt->init) { |
297 | 0 | ret = xprt->init(conn, &conn->xprt_ctx); |
298 | 0 | if (ret < 0) |
299 | 0 | conn->xprt = NULL; |
300 | 0 | } |
301 | 0 | return ret; |
302 | 0 | } Unexecuted instantiation: cfgparse.c:conn_prepare Unexecuted instantiation: cli.c:conn_prepare Unexecuted instantiation: connection.c:conn_prepare Unexecuted instantiation: debug.c:conn_prepare Unexecuted instantiation: errors.c:conn_prepare Unexecuted instantiation: fd.c:conn_prepare Unexecuted instantiation: filters.c:conn_prepare Unexecuted instantiation: flt_http_comp.c:conn_prepare Unexecuted instantiation: frontend.c:conn_prepare Unexecuted instantiation: haproxy.c:conn_prepare Unexecuted instantiation: http_ana.c:conn_prepare Unexecuted instantiation: http_ext.c:conn_prepare Unexecuted instantiation: http_htx.c:conn_prepare Unexecuted instantiation: http_rules.c:conn_prepare Unexecuted instantiation: limits.c:conn_prepare Unexecuted instantiation: listener.c:conn_prepare Unexecuted instantiation: log.c:conn_prepare Unexecuted instantiation: mworker.c:conn_prepare Unexecuted instantiation: peers.c:conn_prepare Unexecuted instantiation: pool.c:conn_prepare Unexecuted instantiation: proto_rhttp.c:conn_prepare Unexecuted instantiation: proto_sockpair.c:conn_prepare Unexecuted instantiation: proxy.c:conn_prepare Unexecuted instantiation: queue.c:conn_prepare Unexecuted instantiation: resolvers.c:conn_prepare Unexecuted instantiation: ring.c:conn_prepare Unexecuted instantiation: sample.c:conn_prepare Unexecuted instantiation: server.c:conn_prepare Unexecuted instantiation: session.c:conn_prepare Unexecuted instantiation: sink.c:conn_prepare Unexecuted instantiation: sock.c:conn_prepare Unexecuted instantiation: stats-html.c:conn_prepare Unexecuted instantiation: stats.c:conn_prepare Unexecuted instantiation: stconn.c:conn_prepare Unexecuted instantiation: stick_table.c:conn_prepare Unexecuted instantiation: stream.c:conn_prepare Unexecuted instantiation: tcp_rules.c:conn_prepare Unexecuted instantiation: tcpcheck.c:conn_prepare Unexecuted instantiation: thread.c:conn_prepare Unexecuted instantiation: tools.c:conn_prepare Unexecuted instantiation: trace.c:conn_prepare Unexecuted instantiation: vars.c:conn_prepare Unexecuted instantiation: activity.c:conn_prepare Unexecuted instantiation: applet.c:conn_prepare Unexecuted instantiation: backend.c:conn_prepare Unexecuted instantiation: cache.c:conn_prepare Unexecuted instantiation: cfgparse-global.c:conn_prepare Unexecuted instantiation: cfgparse-listen.c:conn_prepare Unexecuted instantiation: channel.c:conn_prepare Unexecuted instantiation: check.c:conn_prepare Unexecuted instantiation: compression.c:conn_prepare Unexecuted instantiation: dns.c:conn_prepare Unexecuted instantiation: dns_ring.c:conn_prepare Unexecuted instantiation: fcgi-app.c:conn_prepare Unexecuted instantiation: http_fetch.c:conn_prepare Unexecuted instantiation: mux_spop.c:conn_prepare Unexecuted instantiation: pattern.c:conn_prepare Unexecuted instantiation: payload.c:conn_prepare Unexecuted instantiation: proto_tcp.c:conn_prepare Unexecuted instantiation: stats-json.c:conn_prepare Unexecuted instantiation: stats-proxy.c:conn_prepare Unexecuted instantiation: flt_spoe.c:conn_prepare |
303 | | |
304 | | /* returns 0 if the connection is valid and is a frontend connection, otherwise |
305 | | * returns 1 indicating it's a backend connection. And uninitialized connection |
306 | | * also returns 1 to better handle the usage in the middle of initialization. |
307 | | */ |
308 | | static inline int conn_is_back(const struct connection *conn) |
309 | 0 | { |
310 | 0 | return !objt_listener(conn->target); |
311 | 0 | } Unexecuted instantiation: cfgparse.c:conn_is_back Unexecuted instantiation: cli.c:conn_is_back Unexecuted instantiation: connection.c:conn_is_back Unexecuted instantiation: debug.c:conn_is_back Unexecuted instantiation: errors.c:conn_is_back Unexecuted instantiation: fd.c:conn_is_back Unexecuted instantiation: filters.c:conn_is_back Unexecuted instantiation: flt_http_comp.c:conn_is_back Unexecuted instantiation: frontend.c:conn_is_back Unexecuted instantiation: haproxy.c:conn_is_back Unexecuted instantiation: http_ana.c:conn_is_back Unexecuted instantiation: http_ext.c:conn_is_back Unexecuted instantiation: http_htx.c:conn_is_back Unexecuted instantiation: http_rules.c:conn_is_back Unexecuted instantiation: limits.c:conn_is_back Unexecuted instantiation: listener.c:conn_is_back Unexecuted instantiation: log.c:conn_is_back Unexecuted instantiation: mworker.c:conn_is_back Unexecuted instantiation: peers.c:conn_is_back Unexecuted instantiation: pool.c:conn_is_back Unexecuted instantiation: proto_rhttp.c:conn_is_back Unexecuted instantiation: proto_sockpair.c:conn_is_back Unexecuted instantiation: proxy.c:conn_is_back Unexecuted instantiation: queue.c:conn_is_back Unexecuted instantiation: resolvers.c:conn_is_back Unexecuted instantiation: ring.c:conn_is_back Unexecuted instantiation: sample.c:conn_is_back Unexecuted instantiation: server.c:conn_is_back Unexecuted instantiation: session.c:conn_is_back Unexecuted instantiation: sink.c:conn_is_back Unexecuted instantiation: sock.c:conn_is_back Unexecuted instantiation: stats-html.c:conn_is_back Unexecuted instantiation: stats.c:conn_is_back Unexecuted instantiation: stconn.c:conn_is_back Unexecuted instantiation: stick_table.c:conn_is_back Unexecuted instantiation: stream.c:conn_is_back Unexecuted instantiation: tcp_rules.c:conn_is_back Unexecuted instantiation: tcpcheck.c:conn_is_back Unexecuted instantiation: thread.c:conn_is_back Unexecuted instantiation: tools.c:conn_is_back Unexecuted instantiation: trace.c:conn_is_back Unexecuted instantiation: vars.c:conn_is_back Unexecuted instantiation: activity.c:conn_is_back Unexecuted instantiation: applet.c:conn_is_back Unexecuted instantiation: backend.c:conn_is_back Unexecuted instantiation: cache.c:conn_is_back Unexecuted instantiation: cfgparse-global.c:conn_is_back Unexecuted instantiation: cfgparse-listen.c:conn_is_back Unexecuted instantiation: channel.c:conn_is_back Unexecuted instantiation: check.c:conn_is_back Unexecuted instantiation: compression.c:conn_is_back Unexecuted instantiation: dns.c:conn_is_back Unexecuted instantiation: dns_ring.c:conn_is_back Unexecuted instantiation: fcgi-app.c:conn_is_back Unexecuted instantiation: http_fetch.c:conn_is_back Unexecuted instantiation: mux_spop.c:conn_is_back Unexecuted instantiation: pattern.c:conn_is_back Unexecuted instantiation: payload.c:conn_is_back Unexecuted instantiation: proto_tcp.c:conn_is_back Unexecuted instantiation: stats-json.c:conn_is_back Unexecuted instantiation: stats-proxy.c:conn_is_back Unexecuted instantiation: flt_spoe.c:conn_is_back |
312 | | |
313 | | /* sets <owner> as the connection's owner */ |
314 | | static inline void conn_set_owner(struct connection *conn, void *owner, void (*cb)(struct connection *)) |
315 | 0 | { |
316 | 0 | conn->owner = owner; |
317 | 0 | conn->destroy_cb = cb; |
318 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_owner Unexecuted instantiation: cli.c:conn_set_owner Unexecuted instantiation: connection.c:conn_set_owner Unexecuted instantiation: debug.c:conn_set_owner Unexecuted instantiation: errors.c:conn_set_owner Unexecuted instantiation: fd.c:conn_set_owner Unexecuted instantiation: filters.c:conn_set_owner Unexecuted instantiation: flt_http_comp.c:conn_set_owner Unexecuted instantiation: frontend.c:conn_set_owner Unexecuted instantiation: haproxy.c:conn_set_owner Unexecuted instantiation: http_ana.c:conn_set_owner Unexecuted instantiation: http_ext.c:conn_set_owner Unexecuted instantiation: http_htx.c:conn_set_owner Unexecuted instantiation: http_rules.c:conn_set_owner Unexecuted instantiation: limits.c:conn_set_owner Unexecuted instantiation: listener.c:conn_set_owner Unexecuted instantiation: log.c:conn_set_owner Unexecuted instantiation: mworker.c:conn_set_owner Unexecuted instantiation: peers.c:conn_set_owner Unexecuted instantiation: pool.c:conn_set_owner Unexecuted instantiation: proto_rhttp.c:conn_set_owner Unexecuted instantiation: proto_sockpair.c:conn_set_owner Unexecuted instantiation: proxy.c:conn_set_owner Unexecuted instantiation: queue.c:conn_set_owner Unexecuted instantiation: resolvers.c:conn_set_owner Unexecuted instantiation: ring.c:conn_set_owner Unexecuted instantiation: sample.c:conn_set_owner Unexecuted instantiation: server.c:conn_set_owner Unexecuted instantiation: session.c:conn_set_owner Unexecuted instantiation: sink.c:conn_set_owner Unexecuted instantiation: sock.c:conn_set_owner Unexecuted instantiation: stats-html.c:conn_set_owner Unexecuted instantiation: stats.c:conn_set_owner Unexecuted instantiation: stconn.c:conn_set_owner Unexecuted instantiation: stick_table.c:conn_set_owner Unexecuted instantiation: stream.c:conn_set_owner Unexecuted instantiation: tcp_rules.c:conn_set_owner Unexecuted instantiation: tcpcheck.c:conn_set_owner Unexecuted instantiation: thread.c:conn_set_owner Unexecuted instantiation: tools.c:conn_set_owner Unexecuted instantiation: trace.c:conn_set_owner Unexecuted instantiation: vars.c:conn_set_owner Unexecuted instantiation: activity.c:conn_set_owner Unexecuted instantiation: applet.c:conn_set_owner Unexecuted instantiation: backend.c:conn_set_owner Unexecuted instantiation: cache.c:conn_set_owner Unexecuted instantiation: cfgparse-global.c:conn_set_owner Unexecuted instantiation: cfgparse-listen.c:conn_set_owner Unexecuted instantiation: channel.c:conn_set_owner Unexecuted instantiation: check.c:conn_set_owner Unexecuted instantiation: compression.c:conn_set_owner Unexecuted instantiation: dns.c:conn_set_owner Unexecuted instantiation: dns_ring.c:conn_set_owner Unexecuted instantiation: fcgi-app.c:conn_set_owner Unexecuted instantiation: http_fetch.c:conn_set_owner Unexecuted instantiation: mux_spop.c:conn_set_owner Unexecuted instantiation: pattern.c:conn_set_owner Unexecuted instantiation: payload.c:conn_set_owner Unexecuted instantiation: proto_tcp.c:conn_set_owner Unexecuted instantiation: stats-json.c:conn_set_owner Unexecuted instantiation: stats-proxy.c:conn_set_owner Unexecuted instantiation: flt_spoe.c:conn_set_owner |
319 | | |
320 | | |
321 | | /* Mark the connection <conn> as private and remove it from the available connection list */ |
322 | | static inline void conn_set_private(struct connection *conn) |
323 | 0 | { |
324 | 0 | if (!(conn->flags & CO_FL_PRIVATE)) { |
325 | 0 | conn->flags |= CO_FL_PRIVATE; |
326 | |
|
327 | 0 | if (obj_type(conn->target) == OBJ_TYPE_SERVER) |
328 | 0 | srv_release_conn(__objt_server(conn->target), conn); |
329 | 0 | } |
330 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_private Unexecuted instantiation: cli.c:conn_set_private Unexecuted instantiation: connection.c:conn_set_private Unexecuted instantiation: debug.c:conn_set_private Unexecuted instantiation: errors.c:conn_set_private Unexecuted instantiation: fd.c:conn_set_private Unexecuted instantiation: filters.c:conn_set_private Unexecuted instantiation: flt_http_comp.c:conn_set_private Unexecuted instantiation: frontend.c:conn_set_private Unexecuted instantiation: haproxy.c:conn_set_private Unexecuted instantiation: http_ana.c:conn_set_private Unexecuted instantiation: http_ext.c:conn_set_private Unexecuted instantiation: http_htx.c:conn_set_private Unexecuted instantiation: http_rules.c:conn_set_private Unexecuted instantiation: limits.c:conn_set_private Unexecuted instantiation: listener.c:conn_set_private Unexecuted instantiation: log.c:conn_set_private Unexecuted instantiation: mworker.c:conn_set_private Unexecuted instantiation: peers.c:conn_set_private Unexecuted instantiation: pool.c:conn_set_private Unexecuted instantiation: proto_rhttp.c:conn_set_private Unexecuted instantiation: proto_sockpair.c:conn_set_private Unexecuted instantiation: proxy.c:conn_set_private Unexecuted instantiation: queue.c:conn_set_private Unexecuted instantiation: resolvers.c:conn_set_private Unexecuted instantiation: ring.c:conn_set_private Unexecuted instantiation: sample.c:conn_set_private Unexecuted instantiation: server.c:conn_set_private Unexecuted instantiation: session.c:conn_set_private Unexecuted instantiation: sink.c:conn_set_private Unexecuted instantiation: sock.c:conn_set_private Unexecuted instantiation: stats-html.c:conn_set_private Unexecuted instantiation: stats.c:conn_set_private Unexecuted instantiation: stconn.c:conn_set_private Unexecuted instantiation: stick_table.c:conn_set_private Unexecuted instantiation: stream.c:conn_set_private Unexecuted instantiation: tcp_rules.c:conn_set_private Unexecuted instantiation: tcpcheck.c:conn_set_private Unexecuted instantiation: thread.c:conn_set_private Unexecuted instantiation: tools.c:conn_set_private Unexecuted instantiation: trace.c:conn_set_private Unexecuted instantiation: vars.c:conn_set_private Unexecuted instantiation: activity.c:conn_set_private Unexecuted instantiation: applet.c:conn_set_private Unexecuted instantiation: backend.c:conn_set_private Unexecuted instantiation: cache.c:conn_set_private Unexecuted instantiation: cfgparse-global.c:conn_set_private Unexecuted instantiation: cfgparse-listen.c:conn_set_private Unexecuted instantiation: channel.c:conn_set_private Unexecuted instantiation: check.c:conn_set_private Unexecuted instantiation: compression.c:conn_set_private Unexecuted instantiation: dns.c:conn_set_private Unexecuted instantiation: dns_ring.c:conn_set_private Unexecuted instantiation: fcgi-app.c:conn_set_private Unexecuted instantiation: http_fetch.c:conn_set_private Unexecuted instantiation: mux_spop.c:conn_set_private Unexecuted instantiation: pattern.c:conn_set_private Unexecuted instantiation: payload.c:conn_set_private Unexecuted instantiation: proto_tcp.c:conn_set_private Unexecuted instantiation: stats-json.c:conn_set_private Unexecuted instantiation: stats-proxy.c:conn_set_private Unexecuted instantiation: flt_spoe.c:conn_set_private |
331 | | |
332 | | static inline void conn_force_unsubscribe(struct connection *conn) |
333 | 0 | { |
334 | 0 | if (!conn->subs) |
335 | 0 | return; |
336 | 0 | conn->subs->events = 0; |
337 | 0 | conn->subs = NULL; |
338 | 0 | } Unexecuted instantiation: cfgparse.c:conn_force_unsubscribe Unexecuted instantiation: cli.c:conn_force_unsubscribe Unexecuted instantiation: connection.c:conn_force_unsubscribe Unexecuted instantiation: debug.c:conn_force_unsubscribe Unexecuted instantiation: errors.c:conn_force_unsubscribe Unexecuted instantiation: fd.c:conn_force_unsubscribe Unexecuted instantiation: filters.c:conn_force_unsubscribe Unexecuted instantiation: flt_http_comp.c:conn_force_unsubscribe Unexecuted instantiation: frontend.c:conn_force_unsubscribe Unexecuted instantiation: haproxy.c:conn_force_unsubscribe Unexecuted instantiation: http_ana.c:conn_force_unsubscribe Unexecuted instantiation: http_ext.c:conn_force_unsubscribe Unexecuted instantiation: http_htx.c:conn_force_unsubscribe Unexecuted instantiation: http_rules.c:conn_force_unsubscribe Unexecuted instantiation: limits.c:conn_force_unsubscribe Unexecuted instantiation: listener.c:conn_force_unsubscribe Unexecuted instantiation: log.c:conn_force_unsubscribe Unexecuted instantiation: mworker.c:conn_force_unsubscribe Unexecuted instantiation: peers.c:conn_force_unsubscribe Unexecuted instantiation: pool.c:conn_force_unsubscribe Unexecuted instantiation: proto_rhttp.c:conn_force_unsubscribe Unexecuted instantiation: proto_sockpair.c:conn_force_unsubscribe Unexecuted instantiation: proxy.c:conn_force_unsubscribe Unexecuted instantiation: queue.c:conn_force_unsubscribe Unexecuted instantiation: resolvers.c:conn_force_unsubscribe Unexecuted instantiation: ring.c:conn_force_unsubscribe Unexecuted instantiation: sample.c:conn_force_unsubscribe Unexecuted instantiation: server.c:conn_force_unsubscribe Unexecuted instantiation: session.c:conn_force_unsubscribe Unexecuted instantiation: sink.c:conn_force_unsubscribe Unexecuted instantiation: sock.c:conn_force_unsubscribe Unexecuted instantiation: stats-html.c:conn_force_unsubscribe Unexecuted instantiation: stats.c:conn_force_unsubscribe Unexecuted instantiation: stconn.c:conn_force_unsubscribe Unexecuted instantiation: stick_table.c:conn_force_unsubscribe Unexecuted instantiation: stream.c:conn_force_unsubscribe Unexecuted instantiation: tcp_rules.c:conn_force_unsubscribe Unexecuted instantiation: tcpcheck.c:conn_force_unsubscribe Unexecuted instantiation: thread.c:conn_force_unsubscribe Unexecuted instantiation: tools.c:conn_force_unsubscribe Unexecuted instantiation: trace.c:conn_force_unsubscribe Unexecuted instantiation: vars.c:conn_force_unsubscribe Unexecuted instantiation: activity.c:conn_force_unsubscribe Unexecuted instantiation: applet.c:conn_force_unsubscribe Unexecuted instantiation: backend.c:conn_force_unsubscribe Unexecuted instantiation: cache.c:conn_force_unsubscribe Unexecuted instantiation: cfgparse-global.c:conn_force_unsubscribe Unexecuted instantiation: cfgparse-listen.c:conn_force_unsubscribe Unexecuted instantiation: channel.c:conn_force_unsubscribe Unexecuted instantiation: check.c:conn_force_unsubscribe Unexecuted instantiation: compression.c:conn_force_unsubscribe Unexecuted instantiation: dns.c:conn_force_unsubscribe Unexecuted instantiation: dns_ring.c:conn_force_unsubscribe Unexecuted instantiation: fcgi-app.c:conn_force_unsubscribe Unexecuted instantiation: http_fetch.c:conn_force_unsubscribe Unexecuted instantiation: mux_spop.c:conn_force_unsubscribe Unexecuted instantiation: pattern.c:conn_force_unsubscribe Unexecuted instantiation: payload.c:conn_force_unsubscribe Unexecuted instantiation: proto_tcp.c:conn_force_unsubscribe Unexecuted instantiation: stats-json.c:conn_force_unsubscribe Unexecuted instantiation: stats-proxy.c:conn_force_unsubscribe Unexecuted instantiation: flt_spoe.c:conn_force_unsubscribe |
339 | | |
340 | | /* Returns the source address of the connection or NULL if not set */ |
341 | | static inline const struct sockaddr_storage *conn_src(struct connection *conn) |
342 | 0 | { |
343 | 0 | return conn->src; |
344 | 0 | } Unexecuted instantiation: cfgparse.c:conn_src Unexecuted instantiation: cli.c:conn_src Unexecuted instantiation: connection.c:conn_src Unexecuted instantiation: debug.c:conn_src Unexecuted instantiation: errors.c:conn_src Unexecuted instantiation: fd.c:conn_src Unexecuted instantiation: filters.c:conn_src Unexecuted instantiation: flt_http_comp.c:conn_src Unexecuted instantiation: frontend.c:conn_src Unexecuted instantiation: haproxy.c:conn_src Unexecuted instantiation: http_ana.c:conn_src Unexecuted instantiation: http_ext.c:conn_src Unexecuted instantiation: http_htx.c:conn_src Unexecuted instantiation: http_rules.c:conn_src Unexecuted instantiation: limits.c:conn_src Unexecuted instantiation: listener.c:conn_src Unexecuted instantiation: log.c:conn_src Unexecuted instantiation: mworker.c:conn_src Unexecuted instantiation: peers.c:conn_src Unexecuted instantiation: pool.c:conn_src Unexecuted instantiation: proto_rhttp.c:conn_src Unexecuted instantiation: proto_sockpair.c:conn_src Unexecuted instantiation: proxy.c:conn_src Unexecuted instantiation: queue.c:conn_src Unexecuted instantiation: resolvers.c:conn_src Unexecuted instantiation: ring.c:conn_src Unexecuted instantiation: sample.c:conn_src Unexecuted instantiation: server.c:conn_src Unexecuted instantiation: session.c:conn_src Unexecuted instantiation: sink.c:conn_src Unexecuted instantiation: sock.c:conn_src Unexecuted instantiation: stats-html.c:conn_src Unexecuted instantiation: stats.c:conn_src Unexecuted instantiation: stconn.c:conn_src Unexecuted instantiation: stick_table.c:conn_src Unexecuted instantiation: stream.c:conn_src Unexecuted instantiation: tcp_rules.c:conn_src Unexecuted instantiation: tcpcheck.c:conn_src Unexecuted instantiation: thread.c:conn_src Unexecuted instantiation: tools.c:conn_src Unexecuted instantiation: trace.c:conn_src Unexecuted instantiation: vars.c:conn_src Unexecuted instantiation: activity.c:conn_src Unexecuted instantiation: applet.c:conn_src Unexecuted instantiation: backend.c:conn_src Unexecuted instantiation: cache.c:conn_src Unexecuted instantiation: cfgparse-global.c:conn_src Unexecuted instantiation: cfgparse-listen.c:conn_src Unexecuted instantiation: channel.c:conn_src Unexecuted instantiation: check.c:conn_src Unexecuted instantiation: compression.c:conn_src Unexecuted instantiation: dns.c:conn_src Unexecuted instantiation: dns_ring.c:conn_src Unexecuted instantiation: fcgi-app.c:conn_src Unexecuted instantiation: http_fetch.c:conn_src Unexecuted instantiation: mux_spop.c:conn_src Unexecuted instantiation: pattern.c:conn_src Unexecuted instantiation: payload.c:conn_src Unexecuted instantiation: proto_tcp.c:conn_src Unexecuted instantiation: stats-json.c:conn_src Unexecuted instantiation: stats-proxy.c:conn_src Unexecuted instantiation: flt_spoe.c:conn_src |
345 | | |
346 | | /* Returns the destination address of the connection or NULL if not set */ |
347 | | static inline const struct sockaddr_storage *conn_dst(struct connection *conn) |
348 | 0 | { |
349 | 0 | return conn->dst; |
350 | 0 | } Unexecuted instantiation: cfgparse.c:conn_dst Unexecuted instantiation: cli.c:conn_dst Unexecuted instantiation: connection.c:conn_dst Unexecuted instantiation: debug.c:conn_dst Unexecuted instantiation: errors.c:conn_dst Unexecuted instantiation: fd.c:conn_dst Unexecuted instantiation: filters.c:conn_dst Unexecuted instantiation: flt_http_comp.c:conn_dst Unexecuted instantiation: frontend.c:conn_dst Unexecuted instantiation: haproxy.c:conn_dst Unexecuted instantiation: http_ana.c:conn_dst Unexecuted instantiation: http_ext.c:conn_dst Unexecuted instantiation: http_htx.c:conn_dst Unexecuted instantiation: http_rules.c:conn_dst Unexecuted instantiation: limits.c:conn_dst Unexecuted instantiation: listener.c:conn_dst Unexecuted instantiation: log.c:conn_dst Unexecuted instantiation: mworker.c:conn_dst Unexecuted instantiation: peers.c:conn_dst Unexecuted instantiation: pool.c:conn_dst Unexecuted instantiation: proto_rhttp.c:conn_dst Unexecuted instantiation: proto_sockpair.c:conn_dst Unexecuted instantiation: proxy.c:conn_dst Unexecuted instantiation: queue.c:conn_dst Unexecuted instantiation: resolvers.c:conn_dst Unexecuted instantiation: ring.c:conn_dst Unexecuted instantiation: sample.c:conn_dst Unexecuted instantiation: server.c:conn_dst Unexecuted instantiation: session.c:conn_dst Unexecuted instantiation: sink.c:conn_dst Unexecuted instantiation: sock.c:conn_dst Unexecuted instantiation: stats-html.c:conn_dst Unexecuted instantiation: stats.c:conn_dst Unexecuted instantiation: stconn.c:conn_dst Unexecuted instantiation: stick_table.c:conn_dst Unexecuted instantiation: stream.c:conn_dst Unexecuted instantiation: tcp_rules.c:conn_dst Unexecuted instantiation: tcpcheck.c:conn_dst Unexecuted instantiation: thread.c:conn_dst Unexecuted instantiation: tools.c:conn_dst Unexecuted instantiation: trace.c:conn_dst Unexecuted instantiation: vars.c:conn_dst Unexecuted instantiation: activity.c:conn_dst Unexecuted instantiation: applet.c:conn_dst Unexecuted instantiation: backend.c:conn_dst Unexecuted instantiation: cache.c:conn_dst Unexecuted instantiation: cfgparse-global.c:conn_dst Unexecuted instantiation: cfgparse-listen.c:conn_dst Unexecuted instantiation: channel.c:conn_dst Unexecuted instantiation: check.c:conn_dst Unexecuted instantiation: compression.c:conn_dst Unexecuted instantiation: dns.c:conn_dst Unexecuted instantiation: dns_ring.c:conn_dst Unexecuted instantiation: fcgi-app.c:conn_dst Unexecuted instantiation: http_fetch.c:conn_dst Unexecuted instantiation: mux_spop.c:conn_dst Unexecuted instantiation: pattern.c:conn_dst Unexecuted instantiation: payload.c:conn_dst Unexecuted instantiation: proto_tcp.c:conn_dst Unexecuted instantiation: stats-json.c:conn_dst Unexecuted instantiation: stats-proxy.c:conn_dst Unexecuted instantiation: flt_spoe.c:conn_dst |
351 | | |
352 | | /* Retrieves the connection's original source address. Returns non-zero on |
353 | | * success or zero on failure. The operation is only performed once and the |
354 | | * address is stored in the connection for future use. |
355 | | */ |
356 | | static inline int conn_get_src(struct connection *conn) |
357 | 0 | { |
358 | 0 | if (conn->src) |
359 | 0 | return 1; |
360 | | |
361 | 0 | if (!conn_ctrl_ready(conn)) |
362 | 0 | goto fail; |
363 | | |
364 | 0 | if (!sockaddr_alloc(&conn->src, NULL, 0)) |
365 | 0 | goto fail; |
366 | | |
367 | | /* some stream protocols may provide their own get_src/dst functions */ |
368 | 0 | if (conn->ctrl->get_src && |
369 | 0 | conn->ctrl->get_src(conn, (struct sockaddr *)conn->src, sizeof(*conn->src)) != -1) |
370 | 0 | goto done; |
371 | | |
372 | 0 | if (conn->ctrl->proto_type != PROTO_TYPE_STREAM) |
373 | 0 | goto fail; |
374 | | |
375 | | /* most other socket-based stream protocols will use their socket family's functions */ |
376 | 0 | if (conn->ctrl->fam->get_src && !(conn->flags & CO_FL_FDLESS) && |
377 | 0 | conn->ctrl->fam->get_src(conn->handle.fd, (struct sockaddr *)conn->src, |
378 | 0 | sizeof(*conn->src), |
379 | 0 | obj_type(conn->target) != OBJ_TYPE_LISTENER) != -1) |
380 | 0 | goto done; |
381 | | |
382 | | /* no other means */ |
383 | 0 | fail: |
384 | 0 | sockaddr_free(&conn->src); |
385 | 0 | return 0; |
386 | 0 | done: |
387 | 0 | return 1; |
388 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_src Unexecuted instantiation: cli.c:conn_get_src Unexecuted instantiation: connection.c:conn_get_src Unexecuted instantiation: debug.c:conn_get_src Unexecuted instantiation: errors.c:conn_get_src Unexecuted instantiation: fd.c:conn_get_src Unexecuted instantiation: filters.c:conn_get_src Unexecuted instantiation: flt_http_comp.c:conn_get_src Unexecuted instantiation: frontend.c:conn_get_src Unexecuted instantiation: haproxy.c:conn_get_src Unexecuted instantiation: http_ana.c:conn_get_src Unexecuted instantiation: http_ext.c:conn_get_src Unexecuted instantiation: http_htx.c:conn_get_src Unexecuted instantiation: http_rules.c:conn_get_src Unexecuted instantiation: limits.c:conn_get_src Unexecuted instantiation: listener.c:conn_get_src Unexecuted instantiation: log.c:conn_get_src Unexecuted instantiation: mworker.c:conn_get_src Unexecuted instantiation: peers.c:conn_get_src Unexecuted instantiation: pool.c:conn_get_src Unexecuted instantiation: proto_rhttp.c:conn_get_src Unexecuted instantiation: proto_sockpair.c:conn_get_src Unexecuted instantiation: proxy.c:conn_get_src Unexecuted instantiation: queue.c:conn_get_src Unexecuted instantiation: resolvers.c:conn_get_src Unexecuted instantiation: ring.c:conn_get_src Unexecuted instantiation: sample.c:conn_get_src Unexecuted instantiation: server.c:conn_get_src Unexecuted instantiation: session.c:conn_get_src Unexecuted instantiation: sink.c:conn_get_src Unexecuted instantiation: sock.c:conn_get_src Unexecuted instantiation: stats-html.c:conn_get_src Unexecuted instantiation: stats.c:conn_get_src Unexecuted instantiation: stconn.c:conn_get_src Unexecuted instantiation: stick_table.c:conn_get_src Unexecuted instantiation: stream.c:conn_get_src Unexecuted instantiation: tcp_rules.c:conn_get_src Unexecuted instantiation: tcpcheck.c:conn_get_src Unexecuted instantiation: thread.c:conn_get_src Unexecuted instantiation: tools.c:conn_get_src Unexecuted instantiation: trace.c:conn_get_src Unexecuted instantiation: vars.c:conn_get_src Unexecuted instantiation: activity.c:conn_get_src Unexecuted instantiation: applet.c:conn_get_src Unexecuted instantiation: backend.c:conn_get_src Unexecuted instantiation: cache.c:conn_get_src Unexecuted instantiation: cfgparse-global.c:conn_get_src Unexecuted instantiation: cfgparse-listen.c:conn_get_src Unexecuted instantiation: channel.c:conn_get_src Unexecuted instantiation: check.c:conn_get_src Unexecuted instantiation: compression.c:conn_get_src Unexecuted instantiation: dns.c:conn_get_src Unexecuted instantiation: dns_ring.c:conn_get_src Unexecuted instantiation: fcgi-app.c:conn_get_src Unexecuted instantiation: http_fetch.c:conn_get_src Unexecuted instantiation: mux_spop.c:conn_get_src Unexecuted instantiation: pattern.c:conn_get_src Unexecuted instantiation: payload.c:conn_get_src Unexecuted instantiation: proto_tcp.c:conn_get_src Unexecuted instantiation: stats-json.c:conn_get_src Unexecuted instantiation: stats-proxy.c:conn_get_src Unexecuted instantiation: flt_spoe.c:conn_get_src |
389 | | |
390 | | /* Retrieves the connection's original destination address. Returns non-zero on |
391 | | * success or zero on failure. The operation is only performed once and the |
392 | | * address is stored in the connection for future use. |
393 | | */ |
394 | | static inline int conn_get_dst(struct connection *conn) |
395 | 0 | { |
396 | 0 | if (conn->dst) |
397 | 0 | return 1; |
398 | | |
399 | 0 | if (!conn_ctrl_ready(conn)) |
400 | 0 | goto fail; |
401 | | |
402 | 0 | if (!sockaddr_alloc(&conn->dst, NULL, 0)) |
403 | 0 | goto fail; |
404 | | |
405 | | /* some stream protocols may provide their own get_src/dst functions */ |
406 | 0 | if (conn->ctrl->get_dst && |
407 | 0 | conn->ctrl->get_dst(conn, (struct sockaddr *)conn->dst, sizeof(*conn->dst)) != -1) |
408 | 0 | goto done; |
409 | | |
410 | 0 | if (conn->ctrl->proto_type != PROTO_TYPE_STREAM) |
411 | 0 | goto fail; |
412 | | |
413 | | /* most other socket-based stream protocols will use their socket family's functions */ |
414 | 0 | if (conn->ctrl->fam->get_dst && !(conn->flags & CO_FL_FDLESS) && |
415 | 0 | conn->ctrl->fam->get_dst(conn->handle.fd, (struct sockaddr *)conn->dst, |
416 | 0 | sizeof(*conn->dst), |
417 | 0 | obj_type(conn->target) != OBJ_TYPE_LISTENER) != -1) |
418 | 0 | goto done; |
419 | | |
420 | | /* no other means */ |
421 | 0 | fail: |
422 | 0 | sockaddr_free(&conn->dst); |
423 | 0 | return 0; |
424 | 0 | done: |
425 | 0 | return 1; |
426 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_dst Unexecuted instantiation: cli.c:conn_get_dst Unexecuted instantiation: connection.c:conn_get_dst Unexecuted instantiation: debug.c:conn_get_dst Unexecuted instantiation: errors.c:conn_get_dst Unexecuted instantiation: fd.c:conn_get_dst Unexecuted instantiation: filters.c:conn_get_dst Unexecuted instantiation: flt_http_comp.c:conn_get_dst Unexecuted instantiation: frontend.c:conn_get_dst Unexecuted instantiation: haproxy.c:conn_get_dst Unexecuted instantiation: http_ana.c:conn_get_dst Unexecuted instantiation: http_ext.c:conn_get_dst Unexecuted instantiation: http_htx.c:conn_get_dst Unexecuted instantiation: http_rules.c:conn_get_dst Unexecuted instantiation: limits.c:conn_get_dst Unexecuted instantiation: listener.c:conn_get_dst Unexecuted instantiation: log.c:conn_get_dst Unexecuted instantiation: mworker.c:conn_get_dst Unexecuted instantiation: peers.c:conn_get_dst Unexecuted instantiation: pool.c:conn_get_dst Unexecuted instantiation: proto_rhttp.c:conn_get_dst Unexecuted instantiation: proto_sockpair.c:conn_get_dst Unexecuted instantiation: proxy.c:conn_get_dst Unexecuted instantiation: queue.c:conn_get_dst Unexecuted instantiation: resolvers.c:conn_get_dst Unexecuted instantiation: ring.c:conn_get_dst Unexecuted instantiation: sample.c:conn_get_dst Unexecuted instantiation: server.c:conn_get_dst Unexecuted instantiation: session.c:conn_get_dst Unexecuted instantiation: sink.c:conn_get_dst Unexecuted instantiation: sock.c:conn_get_dst Unexecuted instantiation: stats-html.c:conn_get_dst Unexecuted instantiation: stats.c:conn_get_dst Unexecuted instantiation: stconn.c:conn_get_dst Unexecuted instantiation: stick_table.c:conn_get_dst Unexecuted instantiation: stream.c:conn_get_dst Unexecuted instantiation: tcp_rules.c:conn_get_dst Unexecuted instantiation: tcpcheck.c:conn_get_dst Unexecuted instantiation: thread.c:conn_get_dst Unexecuted instantiation: tools.c:conn_get_dst Unexecuted instantiation: trace.c:conn_get_dst Unexecuted instantiation: vars.c:conn_get_dst Unexecuted instantiation: activity.c:conn_get_dst Unexecuted instantiation: applet.c:conn_get_dst Unexecuted instantiation: backend.c:conn_get_dst Unexecuted instantiation: cache.c:conn_get_dst Unexecuted instantiation: cfgparse-global.c:conn_get_dst Unexecuted instantiation: cfgparse-listen.c:conn_get_dst Unexecuted instantiation: channel.c:conn_get_dst Unexecuted instantiation: check.c:conn_get_dst Unexecuted instantiation: compression.c:conn_get_dst Unexecuted instantiation: dns.c:conn_get_dst Unexecuted instantiation: dns_ring.c:conn_get_dst Unexecuted instantiation: fcgi-app.c:conn_get_dst Unexecuted instantiation: http_fetch.c:conn_get_dst Unexecuted instantiation: mux_spop.c:conn_get_dst Unexecuted instantiation: pattern.c:conn_get_dst Unexecuted instantiation: payload.c:conn_get_dst Unexecuted instantiation: proto_tcp.c:conn_get_dst Unexecuted instantiation: stats-json.c:conn_get_dst Unexecuted instantiation: stats-proxy.c:conn_get_dst Unexecuted instantiation: flt_spoe.c:conn_get_dst |
427 | | |
428 | | /* Sets the TOS header in IPv4 and the traffic class header in IPv6 packets |
429 | | * (as per RFC3260 #4 and BCP37 #4.2 and #5.2). The connection is tested and if |
430 | | * it is null, nothing is done. |
431 | | */ |
432 | | static inline void conn_set_tos(const struct connection *conn, int tos) |
433 | 0 | { |
434 | 0 | if (!conn || !conn_ctrl_ready(conn) || (conn->flags & CO_FL_FDLESS)) |
435 | 0 | return; |
436 | 0 |
|
437 | 0 | sock_set_tos(conn->handle.fd, conn->src, tos); |
438 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_tos Unexecuted instantiation: cli.c:conn_set_tos Unexecuted instantiation: connection.c:conn_set_tos Unexecuted instantiation: debug.c:conn_set_tos Unexecuted instantiation: errors.c:conn_set_tos Unexecuted instantiation: fd.c:conn_set_tos Unexecuted instantiation: filters.c:conn_set_tos Unexecuted instantiation: flt_http_comp.c:conn_set_tos Unexecuted instantiation: frontend.c:conn_set_tos Unexecuted instantiation: haproxy.c:conn_set_tos Unexecuted instantiation: http_ana.c:conn_set_tos Unexecuted instantiation: http_ext.c:conn_set_tos Unexecuted instantiation: http_htx.c:conn_set_tos Unexecuted instantiation: http_rules.c:conn_set_tos Unexecuted instantiation: limits.c:conn_set_tos Unexecuted instantiation: listener.c:conn_set_tos Unexecuted instantiation: log.c:conn_set_tos Unexecuted instantiation: mworker.c:conn_set_tos Unexecuted instantiation: peers.c:conn_set_tos Unexecuted instantiation: pool.c:conn_set_tos Unexecuted instantiation: proto_rhttp.c:conn_set_tos Unexecuted instantiation: proto_sockpair.c:conn_set_tos Unexecuted instantiation: proxy.c:conn_set_tos Unexecuted instantiation: queue.c:conn_set_tos Unexecuted instantiation: resolvers.c:conn_set_tos Unexecuted instantiation: ring.c:conn_set_tos Unexecuted instantiation: sample.c:conn_set_tos Unexecuted instantiation: server.c:conn_set_tos Unexecuted instantiation: session.c:conn_set_tos Unexecuted instantiation: sink.c:conn_set_tos Unexecuted instantiation: sock.c:conn_set_tos Unexecuted instantiation: stats-html.c:conn_set_tos Unexecuted instantiation: stats.c:conn_set_tos Unexecuted instantiation: stconn.c:conn_set_tos Unexecuted instantiation: stick_table.c:conn_set_tos Unexecuted instantiation: stream.c:conn_set_tos Unexecuted instantiation: tcp_rules.c:conn_set_tos Unexecuted instantiation: tcpcheck.c:conn_set_tos Unexecuted instantiation: thread.c:conn_set_tos Unexecuted instantiation: tools.c:conn_set_tos Unexecuted instantiation: trace.c:conn_set_tos Unexecuted instantiation: vars.c:conn_set_tos Unexecuted instantiation: activity.c:conn_set_tos Unexecuted instantiation: applet.c:conn_set_tos Unexecuted instantiation: backend.c:conn_set_tos Unexecuted instantiation: cache.c:conn_set_tos Unexecuted instantiation: cfgparse-global.c:conn_set_tos Unexecuted instantiation: cfgparse-listen.c:conn_set_tos Unexecuted instantiation: channel.c:conn_set_tos Unexecuted instantiation: check.c:conn_set_tos Unexecuted instantiation: compression.c:conn_set_tos Unexecuted instantiation: dns.c:conn_set_tos Unexecuted instantiation: dns_ring.c:conn_set_tos Unexecuted instantiation: fcgi-app.c:conn_set_tos Unexecuted instantiation: http_fetch.c:conn_set_tos Unexecuted instantiation: mux_spop.c:conn_set_tos Unexecuted instantiation: pattern.c:conn_set_tos Unexecuted instantiation: payload.c:conn_set_tos Unexecuted instantiation: proto_tcp.c:conn_set_tos Unexecuted instantiation: stats-json.c:conn_set_tos Unexecuted instantiation: stats-proxy.c:conn_set_tos Unexecuted instantiation: flt_spoe.c:conn_set_tos |
439 | | |
440 | | /* Sets the netfilter mark on the connection's socket. The connection is tested |
441 | | * and if it is null, nothing is done. |
442 | | */ |
443 | | static inline void conn_set_mark(const struct connection *conn, int mark) |
444 | 0 | { |
445 | 0 | if (!conn || !conn_ctrl_ready(conn) || (conn->flags & CO_FL_FDLESS)) |
446 | 0 | return; |
447 | 0 |
|
448 | 0 | sock_set_mark(conn->handle.fd, conn->ctrl->fam->sock_family, mark); |
449 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_mark Unexecuted instantiation: cli.c:conn_set_mark Unexecuted instantiation: connection.c:conn_set_mark Unexecuted instantiation: debug.c:conn_set_mark Unexecuted instantiation: errors.c:conn_set_mark Unexecuted instantiation: fd.c:conn_set_mark Unexecuted instantiation: filters.c:conn_set_mark Unexecuted instantiation: flt_http_comp.c:conn_set_mark Unexecuted instantiation: frontend.c:conn_set_mark Unexecuted instantiation: haproxy.c:conn_set_mark Unexecuted instantiation: http_ana.c:conn_set_mark Unexecuted instantiation: http_ext.c:conn_set_mark Unexecuted instantiation: http_htx.c:conn_set_mark Unexecuted instantiation: http_rules.c:conn_set_mark Unexecuted instantiation: limits.c:conn_set_mark Unexecuted instantiation: listener.c:conn_set_mark Unexecuted instantiation: log.c:conn_set_mark Unexecuted instantiation: mworker.c:conn_set_mark Unexecuted instantiation: peers.c:conn_set_mark Unexecuted instantiation: pool.c:conn_set_mark Unexecuted instantiation: proto_rhttp.c:conn_set_mark Unexecuted instantiation: proto_sockpair.c:conn_set_mark Unexecuted instantiation: proxy.c:conn_set_mark Unexecuted instantiation: queue.c:conn_set_mark Unexecuted instantiation: resolvers.c:conn_set_mark Unexecuted instantiation: ring.c:conn_set_mark Unexecuted instantiation: sample.c:conn_set_mark Unexecuted instantiation: server.c:conn_set_mark Unexecuted instantiation: session.c:conn_set_mark Unexecuted instantiation: sink.c:conn_set_mark Unexecuted instantiation: sock.c:conn_set_mark Unexecuted instantiation: stats-html.c:conn_set_mark Unexecuted instantiation: stats.c:conn_set_mark Unexecuted instantiation: stconn.c:conn_set_mark Unexecuted instantiation: stick_table.c:conn_set_mark Unexecuted instantiation: stream.c:conn_set_mark Unexecuted instantiation: tcp_rules.c:conn_set_mark Unexecuted instantiation: tcpcheck.c:conn_set_mark Unexecuted instantiation: thread.c:conn_set_mark Unexecuted instantiation: tools.c:conn_set_mark Unexecuted instantiation: trace.c:conn_set_mark Unexecuted instantiation: vars.c:conn_set_mark Unexecuted instantiation: activity.c:conn_set_mark Unexecuted instantiation: applet.c:conn_set_mark Unexecuted instantiation: backend.c:conn_set_mark Unexecuted instantiation: cache.c:conn_set_mark Unexecuted instantiation: cfgparse-global.c:conn_set_mark Unexecuted instantiation: cfgparse-listen.c:conn_set_mark Unexecuted instantiation: channel.c:conn_set_mark Unexecuted instantiation: check.c:conn_set_mark Unexecuted instantiation: compression.c:conn_set_mark Unexecuted instantiation: dns.c:conn_set_mark Unexecuted instantiation: dns_ring.c:conn_set_mark Unexecuted instantiation: fcgi-app.c:conn_set_mark Unexecuted instantiation: http_fetch.c:conn_set_mark Unexecuted instantiation: mux_spop.c:conn_set_mark Unexecuted instantiation: pattern.c:conn_set_mark Unexecuted instantiation: payload.c:conn_set_mark Unexecuted instantiation: proto_tcp.c:conn_set_mark Unexecuted instantiation: stats-json.c:conn_set_mark Unexecuted instantiation: stats-proxy.c:conn_set_mark Unexecuted instantiation: flt_spoe.c:conn_set_mark |
450 | | |
451 | | /* Sets adjust the TCP quick-ack feature on the connection's socket. The |
452 | | * connection is tested and if it is null, nothing is done. |
453 | | */ |
454 | | static inline void conn_set_quickack(const struct connection *conn, int value) |
455 | 0 | { |
456 | 0 | if (!conn || !conn_ctrl_ready(conn) || (conn->flags & CO_FL_FDLESS)) |
457 | 0 | return; |
458 | | |
459 | 0 | #ifdef TCP_QUICKACK |
460 | 0 | setsockopt(conn->handle.fd, IPPROTO_TCP, TCP_QUICKACK, &value, sizeof(value)); |
461 | 0 | #endif |
462 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_quickack Unexecuted instantiation: cli.c:conn_set_quickack Unexecuted instantiation: connection.c:conn_set_quickack Unexecuted instantiation: debug.c:conn_set_quickack Unexecuted instantiation: errors.c:conn_set_quickack Unexecuted instantiation: fd.c:conn_set_quickack Unexecuted instantiation: filters.c:conn_set_quickack Unexecuted instantiation: flt_http_comp.c:conn_set_quickack Unexecuted instantiation: frontend.c:conn_set_quickack Unexecuted instantiation: haproxy.c:conn_set_quickack Unexecuted instantiation: http_ana.c:conn_set_quickack Unexecuted instantiation: http_ext.c:conn_set_quickack Unexecuted instantiation: http_htx.c:conn_set_quickack Unexecuted instantiation: http_rules.c:conn_set_quickack Unexecuted instantiation: limits.c:conn_set_quickack Unexecuted instantiation: listener.c:conn_set_quickack Unexecuted instantiation: log.c:conn_set_quickack Unexecuted instantiation: mworker.c:conn_set_quickack Unexecuted instantiation: peers.c:conn_set_quickack Unexecuted instantiation: pool.c:conn_set_quickack Unexecuted instantiation: proto_rhttp.c:conn_set_quickack Unexecuted instantiation: proto_sockpair.c:conn_set_quickack Unexecuted instantiation: proxy.c:conn_set_quickack Unexecuted instantiation: queue.c:conn_set_quickack Unexecuted instantiation: resolvers.c:conn_set_quickack Unexecuted instantiation: ring.c:conn_set_quickack Unexecuted instantiation: sample.c:conn_set_quickack Unexecuted instantiation: server.c:conn_set_quickack Unexecuted instantiation: session.c:conn_set_quickack Unexecuted instantiation: sink.c:conn_set_quickack Unexecuted instantiation: sock.c:conn_set_quickack Unexecuted instantiation: stats-html.c:conn_set_quickack Unexecuted instantiation: stats.c:conn_set_quickack Unexecuted instantiation: stconn.c:conn_set_quickack Unexecuted instantiation: stick_table.c:conn_set_quickack Unexecuted instantiation: stream.c:conn_set_quickack Unexecuted instantiation: tcp_rules.c:conn_set_quickack Unexecuted instantiation: tcpcheck.c:conn_set_quickack Unexecuted instantiation: thread.c:conn_set_quickack Unexecuted instantiation: tools.c:conn_set_quickack Unexecuted instantiation: trace.c:conn_set_quickack Unexecuted instantiation: vars.c:conn_set_quickack Unexecuted instantiation: activity.c:conn_set_quickack Unexecuted instantiation: applet.c:conn_set_quickack Unexecuted instantiation: backend.c:conn_set_quickack Unexecuted instantiation: cache.c:conn_set_quickack Unexecuted instantiation: cfgparse-global.c:conn_set_quickack Unexecuted instantiation: cfgparse-listen.c:conn_set_quickack Unexecuted instantiation: channel.c:conn_set_quickack Unexecuted instantiation: check.c:conn_set_quickack Unexecuted instantiation: compression.c:conn_set_quickack Unexecuted instantiation: dns.c:conn_set_quickack Unexecuted instantiation: dns_ring.c:conn_set_quickack Unexecuted instantiation: fcgi-app.c:conn_set_quickack Unexecuted instantiation: http_fetch.c:conn_set_quickack Unexecuted instantiation: mux_spop.c:conn_set_quickack Unexecuted instantiation: pattern.c:conn_set_quickack Unexecuted instantiation: payload.c:conn_set_quickack Unexecuted instantiation: proto_tcp.c:conn_set_quickack Unexecuted instantiation: stats-json.c:conn_set_quickack Unexecuted instantiation: stats-proxy.c:conn_set_quickack Unexecuted instantiation: flt_spoe.c:conn_set_quickack |
463 | | |
464 | | static inline struct wait_event *wl_set_waitcb(struct wait_event *wl, struct task *(*cb)(struct task *, void *, unsigned int), void *ctx) |
465 | 0 | { |
466 | 0 | if (!wl->tasklet->process) { |
467 | 0 | wl->tasklet->process = cb; |
468 | 0 | wl->tasklet->context = ctx; |
469 | 0 | } |
470 | 0 | return wl; |
471 | 0 | } Unexecuted instantiation: cfgparse.c:wl_set_waitcb Unexecuted instantiation: cli.c:wl_set_waitcb Unexecuted instantiation: connection.c:wl_set_waitcb Unexecuted instantiation: debug.c:wl_set_waitcb Unexecuted instantiation: errors.c:wl_set_waitcb Unexecuted instantiation: fd.c:wl_set_waitcb Unexecuted instantiation: filters.c:wl_set_waitcb Unexecuted instantiation: flt_http_comp.c:wl_set_waitcb Unexecuted instantiation: frontend.c:wl_set_waitcb Unexecuted instantiation: haproxy.c:wl_set_waitcb Unexecuted instantiation: http_ana.c:wl_set_waitcb Unexecuted instantiation: http_ext.c:wl_set_waitcb Unexecuted instantiation: http_htx.c:wl_set_waitcb Unexecuted instantiation: http_rules.c:wl_set_waitcb Unexecuted instantiation: limits.c:wl_set_waitcb Unexecuted instantiation: listener.c:wl_set_waitcb Unexecuted instantiation: log.c:wl_set_waitcb Unexecuted instantiation: mworker.c:wl_set_waitcb Unexecuted instantiation: peers.c:wl_set_waitcb Unexecuted instantiation: pool.c:wl_set_waitcb Unexecuted instantiation: proto_rhttp.c:wl_set_waitcb Unexecuted instantiation: proto_sockpair.c:wl_set_waitcb Unexecuted instantiation: proxy.c:wl_set_waitcb Unexecuted instantiation: queue.c:wl_set_waitcb Unexecuted instantiation: resolvers.c:wl_set_waitcb Unexecuted instantiation: ring.c:wl_set_waitcb Unexecuted instantiation: sample.c:wl_set_waitcb Unexecuted instantiation: server.c:wl_set_waitcb Unexecuted instantiation: session.c:wl_set_waitcb Unexecuted instantiation: sink.c:wl_set_waitcb Unexecuted instantiation: sock.c:wl_set_waitcb Unexecuted instantiation: stats-html.c:wl_set_waitcb Unexecuted instantiation: stats.c:wl_set_waitcb Unexecuted instantiation: stconn.c:wl_set_waitcb Unexecuted instantiation: stick_table.c:wl_set_waitcb Unexecuted instantiation: stream.c:wl_set_waitcb Unexecuted instantiation: tcp_rules.c:wl_set_waitcb Unexecuted instantiation: tcpcheck.c:wl_set_waitcb Unexecuted instantiation: thread.c:wl_set_waitcb Unexecuted instantiation: tools.c:wl_set_waitcb Unexecuted instantiation: trace.c:wl_set_waitcb Unexecuted instantiation: vars.c:wl_set_waitcb Unexecuted instantiation: activity.c:wl_set_waitcb Unexecuted instantiation: applet.c:wl_set_waitcb Unexecuted instantiation: backend.c:wl_set_waitcb Unexecuted instantiation: cache.c:wl_set_waitcb Unexecuted instantiation: cfgparse-global.c:wl_set_waitcb Unexecuted instantiation: cfgparse-listen.c:wl_set_waitcb Unexecuted instantiation: channel.c:wl_set_waitcb Unexecuted instantiation: check.c:wl_set_waitcb Unexecuted instantiation: compression.c:wl_set_waitcb Unexecuted instantiation: dns.c:wl_set_waitcb Unexecuted instantiation: dns_ring.c:wl_set_waitcb Unexecuted instantiation: fcgi-app.c:wl_set_waitcb Unexecuted instantiation: http_fetch.c:wl_set_waitcb Unexecuted instantiation: mux_spop.c:wl_set_waitcb Unexecuted instantiation: pattern.c:wl_set_waitcb Unexecuted instantiation: payload.c:wl_set_waitcb Unexecuted instantiation: proto_tcp.c:wl_set_waitcb Unexecuted instantiation: stats-json.c:wl_set_waitcb Unexecuted instantiation: stats-proxy.c:wl_set_waitcb Unexecuted instantiation: flt_spoe.c:wl_set_waitcb |
472 | | |
473 | | /* Installs the connection's mux layer for upper context <ctx>. |
474 | | * Returns < 0 on error. |
475 | | */ |
476 | | static inline int conn_install_mux(struct connection *conn, const struct mux_ops *mux, |
477 | | void *ctx, struct proxy *prx, struct session *sess) |
478 | 0 | { |
479 | 0 | int ret; |
480 | |
|
481 | 0 | conn->mux = mux; |
482 | 0 | conn->ctx = ctx; |
483 | 0 | ret = mux->init ? mux->init(conn, prx, sess, &BUF_NULL) : 0; |
484 | 0 | if (ret < 0) { |
485 | 0 | conn->mux = NULL; |
486 | 0 | conn->ctx = NULL; |
487 | 0 | } |
488 | 0 | return ret; |
489 | 0 | } Unexecuted instantiation: cfgparse.c:conn_install_mux Unexecuted instantiation: cli.c:conn_install_mux Unexecuted instantiation: connection.c:conn_install_mux Unexecuted instantiation: debug.c:conn_install_mux Unexecuted instantiation: errors.c:conn_install_mux Unexecuted instantiation: fd.c:conn_install_mux Unexecuted instantiation: filters.c:conn_install_mux Unexecuted instantiation: flt_http_comp.c:conn_install_mux Unexecuted instantiation: frontend.c:conn_install_mux Unexecuted instantiation: haproxy.c:conn_install_mux Unexecuted instantiation: http_ana.c:conn_install_mux Unexecuted instantiation: http_ext.c:conn_install_mux Unexecuted instantiation: http_htx.c:conn_install_mux Unexecuted instantiation: http_rules.c:conn_install_mux Unexecuted instantiation: limits.c:conn_install_mux Unexecuted instantiation: listener.c:conn_install_mux Unexecuted instantiation: log.c:conn_install_mux Unexecuted instantiation: mworker.c:conn_install_mux Unexecuted instantiation: peers.c:conn_install_mux Unexecuted instantiation: pool.c:conn_install_mux Unexecuted instantiation: proto_rhttp.c:conn_install_mux Unexecuted instantiation: proto_sockpair.c:conn_install_mux Unexecuted instantiation: proxy.c:conn_install_mux Unexecuted instantiation: queue.c:conn_install_mux Unexecuted instantiation: resolvers.c:conn_install_mux Unexecuted instantiation: ring.c:conn_install_mux Unexecuted instantiation: sample.c:conn_install_mux Unexecuted instantiation: server.c:conn_install_mux Unexecuted instantiation: session.c:conn_install_mux Unexecuted instantiation: sink.c:conn_install_mux Unexecuted instantiation: sock.c:conn_install_mux Unexecuted instantiation: stats-html.c:conn_install_mux Unexecuted instantiation: stats.c:conn_install_mux Unexecuted instantiation: stconn.c:conn_install_mux Unexecuted instantiation: stick_table.c:conn_install_mux Unexecuted instantiation: stream.c:conn_install_mux Unexecuted instantiation: tcp_rules.c:conn_install_mux Unexecuted instantiation: tcpcheck.c:conn_install_mux Unexecuted instantiation: thread.c:conn_install_mux Unexecuted instantiation: tools.c:conn_install_mux Unexecuted instantiation: trace.c:conn_install_mux Unexecuted instantiation: vars.c:conn_install_mux Unexecuted instantiation: activity.c:conn_install_mux Unexecuted instantiation: applet.c:conn_install_mux Unexecuted instantiation: backend.c:conn_install_mux Unexecuted instantiation: cache.c:conn_install_mux Unexecuted instantiation: cfgparse-global.c:conn_install_mux Unexecuted instantiation: cfgparse-listen.c:conn_install_mux Unexecuted instantiation: channel.c:conn_install_mux Unexecuted instantiation: check.c:conn_install_mux Unexecuted instantiation: compression.c:conn_install_mux Unexecuted instantiation: dns.c:conn_install_mux Unexecuted instantiation: dns_ring.c:conn_install_mux Unexecuted instantiation: fcgi-app.c:conn_install_mux Unexecuted instantiation: http_fetch.c:conn_install_mux Unexecuted instantiation: mux_spop.c:conn_install_mux Unexecuted instantiation: pattern.c:conn_install_mux Unexecuted instantiation: payload.c:conn_install_mux Unexecuted instantiation: proto_tcp.c:conn_install_mux Unexecuted instantiation: stats-json.c:conn_install_mux Unexecuted instantiation: stats-proxy.c:conn_install_mux Unexecuted instantiation: flt_spoe.c:conn_install_mux |
490 | | |
491 | | /* Retrieves any valid stream connector from this connection, preferably the first |
492 | | * valid one. The purpose is to be able to figure one other end of a private |
493 | | * connection for purposes like source binding or proxy protocol header |
494 | | * emission. In such cases, any stream connector is expected to be valid so the |
495 | | * mux is encouraged to return the first one it finds. If the connection has |
496 | | * no mux or the mux has no get_first_sc() method or the mux has no valid |
497 | | * stream connector, NULL is returned. The output pointer is purposely marked |
498 | | * const to discourage the caller from modifying anything there. |
499 | | */ |
500 | | static inline struct stconn *conn_get_first_sc(const struct connection *conn) |
501 | 0 | { |
502 | 0 | BUG_ON(!conn || !conn->mux); |
503 | |
|
504 | 0 | if (!conn->mux->get_first_sc) |
505 | 0 | return NULL; |
506 | 0 | return conn->mux->get_first_sc(conn); |
507 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_first_sc Unexecuted instantiation: cli.c:conn_get_first_sc Unexecuted instantiation: connection.c:conn_get_first_sc Unexecuted instantiation: debug.c:conn_get_first_sc Unexecuted instantiation: errors.c:conn_get_first_sc Unexecuted instantiation: fd.c:conn_get_first_sc Unexecuted instantiation: filters.c:conn_get_first_sc Unexecuted instantiation: flt_http_comp.c:conn_get_first_sc Unexecuted instantiation: frontend.c:conn_get_first_sc Unexecuted instantiation: haproxy.c:conn_get_first_sc Unexecuted instantiation: http_ana.c:conn_get_first_sc Unexecuted instantiation: http_ext.c:conn_get_first_sc Unexecuted instantiation: http_htx.c:conn_get_first_sc Unexecuted instantiation: http_rules.c:conn_get_first_sc Unexecuted instantiation: limits.c:conn_get_first_sc Unexecuted instantiation: listener.c:conn_get_first_sc Unexecuted instantiation: log.c:conn_get_first_sc Unexecuted instantiation: mworker.c:conn_get_first_sc Unexecuted instantiation: peers.c:conn_get_first_sc Unexecuted instantiation: pool.c:conn_get_first_sc Unexecuted instantiation: proto_rhttp.c:conn_get_first_sc Unexecuted instantiation: proto_sockpair.c:conn_get_first_sc Unexecuted instantiation: proxy.c:conn_get_first_sc Unexecuted instantiation: queue.c:conn_get_first_sc Unexecuted instantiation: resolvers.c:conn_get_first_sc Unexecuted instantiation: ring.c:conn_get_first_sc Unexecuted instantiation: sample.c:conn_get_first_sc Unexecuted instantiation: server.c:conn_get_first_sc Unexecuted instantiation: session.c:conn_get_first_sc Unexecuted instantiation: sink.c:conn_get_first_sc Unexecuted instantiation: sock.c:conn_get_first_sc Unexecuted instantiation: stats-html.c:conn_get_first_sc Unexecuted instantiation: stats.c:conn_get_first_sc Unexecuted instantiation: stconn.c:conn_get_first_sc Unexecuted instantiation: stick_table.c:conn_get_first_sc Unexecuted instantiation: stream.c:conn_get_first_sc Unexecuted instantiation: tcp_rules.c:conn_get_first_sc Unexecuted instantiation: tcpcheck.c:conn_get_first_sc Unexecuted instantiation: thread.c:conn_get_first_sc Unexecuted instantiation: tools.c:conn_get_first_sc Unexecuted instantiation: trace.c:conn_get_first_sc Unexecuted instantiation: vars.c:conn_get_first_sc Unexecuted instantiation: activity.c:conn_get_first_sc Unexecuted instantiation: applet.c:conn_get_first_sc Unexecuted instantiation: backend.c:conn_get_first_sc Unexecuted instantiation: cache.c:conn_get_first_sc Unexecuted instantiation: cfgparse-global.c:conn_get_first_sc Unexecuted instantiation: cfgparse-listen.c:conn_get_first_sc Unexecuted instantiation: channel.c:conn_get_first_sc Unexecuted instantiation: check.c:conn_get_first_sc Unexecuted instantiation: compression.c:conn_get_first_sc Unexecuted instantiation: dns.c:conn_get_first_sc Unexecuted instantiation: dns_ring.c:conn_get_first_sc Unexecuted instantiation: fcgi-app.c:conn_get_first_sc Unexecuted instantiation: http_fetch.c:conn_get_first_sc Unexecuted instantiation: mux_spop.c:conn_get_first_sc Unexecuted instantiation: pattern.c:conn_get_first_sc Unexecuted instantiation: payload.c:conn_get_first_sc Unexecuted instantiation: proto_tcp.c:conn_get_first_sc Unexecuted instantiation: stats-json.c:conn_get_first_sc Unexecuted instantiation: stats-proxy.c:conn_get_first_sc Unexecuted instantiation: flt_spoe.c:conn_get_first_sc |
508 | | |
509 | | int conn_update_alpn(struct connection *conn, const struct ist alpn, int force); |
510 | | |
511 | | static inline const char *conn_get_ctrl_name(const struct connection *conn) |
512 | 0 | { |
513 | 0 | if (!conn || !conn_ctrl_ready(conn)) |
514 | 0 | return "NONE"; |
515 | 0 | return conn->ctrl->name; |
516 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_ctrl_name Unexecuted instantiation: cli.c:conn_get_ctrl_name Unexecuted instantiation: connection.c:conn_get_ctrl_name Unexecuted instantiation: debug.c:conn_get_ctrl_name Unexecuted instantiation: errors.c:conn_get_ctrl_name Unexecuted instantiation: fd.c:conn_get_ctrl_name Unexecuted instantiation: filters.c:conn_get_ctrl_name Unexecuted instantiation: flt_http_comp.c:conn_get_ctrl_name Unexecuted instantiation: frontend.c:conn_get_ctrl_name Unexecuted instantiation: haproxy.c:conn_get_ctrl_name Unexecuted instantiation: http_ana.c:conn_get_ctrl_name Unexecuted instantiation: http_ext.c:conn_get_ctrl_name Unexecuted instantiation: http_htx.c:conn_get_ctrl_name Unexecuted instantiation: http_rules.c:conn_get_ctrl_name Unexecuted instantiation: limits.c:conn_get_ctrl_name Unexecuted instantiation: listener.c:conn_get_ctrl_name Unexecuted instantiation: log.c:conn_get_ctrl_name Unexecuted instantiation: mworker.c:conn_get_ctrl_name Unexecuted instantiation: peers.c:conn_get_ctrl_name Unexecuted instantiation: pool.c:conn_get_ctrl_name Unexecuted instantiation: proto_rhttp.c:conn_get_ctrl_name Unexecuted instantiation: proto_sockpair.c:conn_get_ctrl_name Unexecuted instantiation: proxy.c:conn_get_ctrl_name Unexecuted instantiation: queue.c:conn_get_ctrl_name Unexecuted instantiation: resolvers.c:conn_get_ctrl_name Unexecuted instantiation: ring.c:conn_get_ctrl_name Unexecuted instantiation: sample.c:conn_get_ctrl_name Unexecuted instantiation: server.c:conn_get_ctrl_name Unexecuted instantiation: session.c:conn_get_ctrl_name Unexecuted instantiation: sink.c:conn_get_ctrl_name Unexecuted instantiation: sock.c:conn_get_ctrl_name Unexecuted instantiation: stats-html.c:conn_get_ctrl_name Unexecuted instantiation: stats.c:conn_get_ctrl_name Unexecuted instantiation: stconn.c:conn_get_ctrl_name Unexecuted instantiation: stick_table.c:conn_get_ctrl_name Unexecuted instantiation: stream.c:conn_get_ctrl_name Unexecuted instantiation: tcp_rules.c:conn_get_ctrl_name Unexecuted instantiation: tcpcheck.c:conn_get_ctrl_name Unexecuted instantiation: thread.c:conn_get_ctrl_name Unexecuted instantiation: tools.c:conn_get_ctrl_name Unexecuted instantiation: trace.c:conn_get_ctrl_name Unexecuted instantiation: vars.c:conn_get_ctrl_name Unexecuted instantiation: activity.c:conn_get_ctrl_name Unexecuted instantiation: applet.c:conn_get_ctrl_name Unexecuted instantiation: backend.c:conn_get_ctrl_name Unexecuted instantiation: cache.c:conn_get_ctrl_name Unexecuted instantiation: cfgparse-global.c:conn_get_ctrl_name Unexecuted instantiation: cfgparse-listen.c:conn_get_ctrl_name Unexecuted instantiation: channel.c:conn_get_ctrl_name Unexecuted instantiation: check.c:conn_get_ctrl_name Unexecuted instantiation: compression.c:conn_get_ctrl_name Unexecuted instantiation: dns.c:conn_get_ctrl_name Unexecuted instantiation: dns_ring.c:conn_get_ctrl_name Unexecuted instantiation: fcgi-app.c:conn_get_ctrl_name Unexecuted instantiation: http_fetch.c:conn_get_ctrl_name Unexecuted instantiation: mux_spop.c:conn_get_ctrl_name Unexecuted instantiation: pattern.c:conn_get_ctrl_name Unexecuted instantiation: payload.c:conn_get_ctrl_name Unexecuted instantiation: proto_tcp.c:conn_get_ctrl_name Unexecuted instantiation: stats-json.c:conn_get_ctrl_name Unexecuted instantiation: stats-proxy.c:conn_get_ctrl_name Unexecuted instantiation: flt_spoe.c:conn_get_ctrl_name |
517 | | |
518 | | static inline const char *conn_get_xprt_name(const struct connection *conn) |
519 | 0 | { |
520 | 0 | if (!conn || !conn->xprt) |
521 | 0 | return "NONE"; |
522 | 0 | return conn->xprt->name; |
523 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_xprt_name Unexecuted instantiation: cli.c:conn_get_xprt_name Unexecuted instantiation: connection.c:conn_get_xprt_name Unexecuted instantiation: debug.c:conn_get_xprt_name Unexecuted instantiation: errors.c:conn_get_xprt_name Unexecuted instantiation: fd.c:conn_get_xprt_name Unexecuted instantiation: filters.c:conn_get_xprt_name Unexecuted instantiation: flt_http_comp.c:conn_get_xprt_name Unexecuted instantiation: frontend.c:conn_get_xprt_name Unexecuted instantiation: haproxy.c:conn_get_xprt_name Unexecuted instantiation: http_ana.c:conn_get_xprt_name Unexecuted instantiation: http_ext.c:conn_get_xprt_name Unexecuted instantiation: http_htx.c:conn_get_xprt_name Unexecuted instantiation: http_rules.c:conn_get_xprt_name Unexecuted instantiation: limits.c:conn_get_xprt_name Unexecuted instantiation: listener.c:conn_get_xprt_name Unexecuted instantiation: log.c:conn_get_xprt_name Unexecuted instantiation: mworker.c:conn_get_xprt_name Unexecuted instantiation: peers.c:conn_get_xprt_name Unexecuted instantiation: pool.c:conn_get_xprt_name Unexecuted instantiation: proto_rhttp.c:conn_get_xprt_name Unexecuted instantiation: proto_sockpair.c:conn_get_xprt_name Unexecuted instantiation: proxy.c:conn_get_xprt_name Unexecuted instantiation: queue.c:conn_get_xprt_name Unexecuted instantiation: resolvers.c:conn_get_xprt_name Unexecuted instantiation: ring.c:conn_get_xprt_name Unexecuted instantiation: sample.c:conn_get_xprt_name Unexecuted instantiation: server.c:conn_get_xprt_name Unexecuted instantiation: session.c:conn_get_xprt_name Unexecuted instantiation: sink.c:conn_get_xprt_name Unexecuted instantiation: sock.c:conn_get_xprt_name Unexecuted instantiation: stats-html.c:conn_get_xprt_name Unexecuted instantiation: stats.c:conn_get_xprt_name Unexecuted instantiation: stconn.c:conn_get_xprt_name Unexecuted instantiation: stick_table.c:conn_get_xprt_name Unexecuted instantiation: stream.c:conn_get_xprt_name Unexecuted instantiation: tcp_rules.c:conn_get_xprt_name Unexecuted instantiation: tcpcheck.c:conn_get_xprt_name Unexecuted instantiation: thread.c:conn_get_xprt_name Unexecuted instantiation: tools.c:conn_get_xprt_name Unexecuted instantiation: trace.c:conn_get_xprt_name Unexecuted instantiation: vars.c:conn_get_xprt_name Unexecuted instantiation: activity.c:conn_get_xprt_name Unexecuted instantiation: applet.c:conn_get_xprt_name Unexecuted instantiation: backend.c:conn_get_xprt_name Unexecuted instantiation: cache.c:conn_get_xprt_name Unexecuted instantiation: cfgparse-global.c:conn_get_xprt_name Unexecuted instantiation: cfgparse-listen.c:conn_get_xprt_name Unexecuted instantiation: channel.c:conn_get_xprt_name Unexecuted instantiation: check.c:conn_get_xprt_name Unexecuted instantiation: compression.c:conn_get_xprt_name Unexecuted instantiation: dns.c:conn_get_xprt_name Unexecuted instantiation: dns_ring.c:conn_get_xprt_name Unexecuted instantiation: fcgi-app.c:conn_get_xprt_name Unexecuted instantiation: http_fetch.c:conn_get_xprt_name Unexecuted instantiation: mux_spop.c:conn_get_xprt_name Unexecuted instantiation: pattern.c:conn_get_xprt_name Unexecuted instantiation: payload.c:conn_get_xprt_name Unexecuted instantiation: proto_tcp.c:conn_get_xprt_name Unexecuted instantiation: stats-json.c:conn_get_xprt_name Unexecuted instantiation: stats-proxy.c:conn_get_xprt_name Unexecuted instantiation: flt_spoe.c:conn_get_xprt_name |
524 | | |
525 | | static inline const char *conn_get_mux_name(const struct connection *conn) |
526 | 0 | { |
527 | 0 | if (!conn || !conn->mux) |
528 | 0 | return "NONE"; |
529 | 0 | return conn->mux->name; |
530 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_mux_name Unexecuted instantiation: cli.c:conn_get_mux_name Unexecuted instantiation: connection.c:conn_get_mux_name Unexecuted instantiation: debug.c:conn_get_mux_name Unexecuted instantiation: errors.c:conn_get_mux_name Unexecuted instantiation: fd.c:conn_get_mux_name Unexecuted instantiation: filters.c:conn_get_mux_name Unexecuted instantiation: flt_http_comp.c:conn_get_mux_name Unexecuted instantiation: frontend.c:conn_get_mux_name Unexecuted instantiation: haproxy.c:conn_get_mux_name Unexecuted instantiation: http_ana.c:conn_get_mux_name Unexecuted instantiation: http_ext.c:conn_get_mux_name Unexecuted instantiation: http_htx.c:conn_get_mux_name Unexecuted instantiation: http_rules.c:conn_get_mux_name Unexecuted instantiation: limits.c:conn_get_mux_name Unexecuted instantiation: listener.c:conn_get_mux_name Unexecuted instantiation: log.c:conn_get_mux_name Unexecuted instantiation: mworker.c:conn_get_mux_name Unexecuted instantiation: peers.c:conn_get_mux_name Unexecuted instantiation: pool.c:conn_get_mux_name Unexecuted instantiation: proto_rhttp.c:conn_get_mux_name Unexecuted instantiation: proto_sockpair.c:conn_get_mux_name Unexecuted instantiation: proxy.c:conn_get_mux_name Unexecuted instantiation: queue.c:conn_get_mux_name Unexecuted instantiation: resolvers.c:conn_get_mux_name Unexecuted instantiation: ring.c:conn_get_mux_name Unexecuted instantiation: sample.c:conn_get_mux_name Unexecuted instantiation: server.c:conn_get_mux_name Unexecuted instantiation: session.c:conn_get_mux_name Unexecuted instantiation: sink.c:conn_get_mux_name Unexecuted instantiation: sock.c:conn_get_mux_name Unexecuted instantiation: stats-html.c:conn_get_mux_name Unexecuted instantiation: stats.c:conn_get_mux_name Unexecuted instantiation: stconn.c:conn_get_mux_name Unexecuted instantiation: stick_table.c:conn_get_mux_name Unexecuted instantiation: stream.c:conn_get_mux_name Unexecuted instantiation: tcp_rules.c:conn_get_mux_name Unexecuted instantiation: tcpcheck.c:conn_get_mux_name Unexecuted instantiation: thread.c:conn_get_mux_name Unexecuted instantiation: tools.c:conn_get_mux_name Unexecuted instantiation: trace.c:conn_get_mux_name Unexecuted instantiation: vars.c:conn_get_mux_name Unexecuted instantiation: activity.c:conn_get_mux_name Unexecuted instantiation: applet.c:conn_get_mux_name Unexecuted instantiation: backend.c:conn_get_mux_name Unexecuted instantiation: cache.c:conn_get_mux_name Unexecuted instantiation: cfgparse-global.c:conn_get_mux_name Unexecuted instantiation: cfgparse-listen.c:conn_get_mux_name Unexecuted instantiation: channel.c:conn_get_mux_name Unexecuted instantiation: check.c:conn_get_mux_name Unexecuted instantiation: compression.c:conn_get_mux_name Unexecuted instantiation: dns.c:conn_get_mux_name Unexecuted instantiation: dns_ring.c:conn_get_mux_name Unexecuted instantiation: fcgi-app.c:conn_get_mux_name Unexecuted instantiation: http_fetch.c:conn_get_mux_name Unexecuted instantiation: mux_spop.c:conn_get_mux_name Unexecuted instantiation: pattern.c:conn_get_mux_name Unexecuted instantiation: payload.c:conn_get_mux_name Unexecuted instantiation: proto_tcp.c:conn_get_mux_name Unexecuted instantiation: stats-json.c:conn_get_mux_name Unexecuted instantiation: stats-proxy.c:conn_get_mux_name Unexecuted instantiation: flt_spoe.c:conn_get_mux_name |
531 | | |
532 | | /* registers pointer to transport layer <id> (XPRT_*) */ |
533 | | static inline void xprt_register(int id, struct xprt_ops *xprt) |
534 | 0 | { |
535 | 0 | if (id >= XPRT_ENTRIES) |
536 | 0 | return; |
537 | 0 | registered_xprt[id] = xprt; |
538 | 0 | } Unexecuted instantiation: cfgparse.c:xprt_register Unexecuted instantiation: cli.c:xprt_register Unexecuted instantiation: connection.c:xprt_register Unexecuted instantiation: debug.c:xprt_register Unexecuted instantiation: errors.c:xprt_register Unexecuted instantiation: fd.c:xprt_register Unexecuted instantiation: filters.c:xprt_register Unexecuted instantiation: flt_http_comp.c:xprt_register Unexecuted instantiation: frontend.c:xprt_register Unexecuted instantiation: haproxy.c:xprt_register Unexecuted instantiation: http_ana.c:xprt_register Unexecuted instantiation: http_ext.c:xprt_register Unexecuted instantiation: http_htx.c:xprt_register Unexecuted instantiation: http_rules.c:xprt_register Unexecuted instantiation: limits.c:xprt_register Unexecuted instantiation: listener.c:xprt_register Unexecuted instantiation: log.c:xprt_register Unexecuted instantiation: mworker.c:xprt_register Unexecuted instantiation: peers.c:xprt_register Unexecuted instantiation: pool.c:xprt_register Unexecuted instantiation: proto_rhttp.c:xprt_register Unexecuted instantiation: proto_sockpair.c:xprt_register Unexecuted instantiation: proxy.c:xprt_register Unexecuted instantiation: queue.c:xprt_register Unexecuted instantiation: resolvers.c:xprt_register Unexecuted instantiation: ring.c:xprt_register Unexecuted instantiation: sample.c:xprt_register Unexecuted instantiation: server.c:xprt_register Unexecuted instantiation: session.c:xprt_register Unexecuted instantiation: sink.c:xprt_register Unexecuted instantiation: sock.c:xprt_register Unexecuted instantiation: stats-html.c:xprt_register Unexecuted instantiation: stats.c:xprt_register Unexecuted instantiation: stconn.c:xprt_register Unexecuted instantiation: stick_table.c:xprt_register Unexecuted instantiation: stream.c:xprt_register Unexecuted instantiation: tcp_rules.c:xprt_register Unexecuted instantiation: tcpcheck.c:xprt_register Unexecuted instantiation: thread.c:xprt_register Unexecuted instantiation: tools.c:xprt_register Unexecuted instantiation: trace.c:xprt_register Unexecuted instantiation: vars.c:xprt_register Unexecuted instantiation: activity.c:xprt_register Unexecuted instantiation: applet.c:xprt_register Unexecuted instantiation: backend.c:xprt_register Unexecuted instantiation: cache.c:xprt_register Unexecuted instantiation: cfgparse-global.c:xprt_register Unexecuted instantiation: cfgparse-listen.c:xprt_register Unexecuted instantiation: channel.c:xprt_register Unexecuted instantiation: check.c:xprt_register Unexecuted instantiation: compression.c:xprt_register Unexecuted instantiation: dns.c:xprt_register Unexecuted instantiation: dns_ring.c:xprt_register Unexecuted instantiation: fcgi-app.c:xprt_register Unexecuted instantiation: http_fetch.c:xprt_register Unexecuted instantiation: mux_spop.c:xprt_register Unexecuted instantiation: pattern.c:xprt_register Unexecuted instantiation: payload.c:xprt_register Unexecuted instantiation: proto_tcp.c:xprt_register Unexecuted instantiation: stats-json.c:xprt_register Unexecuted instantiation: stats-proxy.c:xprt_register Unexecuted instantiation: flt_spoe.c:xprt_register |
539 | | |
540 | | /* returns pointer to transport layer <id> (XPRT_*) or NULL if not registered */ |
541 | | static inline struct xprt_ops *xprt_get(int id) |
542 | 0 | { |
543 | 0 | if (id >= XPRT_ENTRIES) |
544 | 0 | return NULL; |
545 | 0 | return registered_xprt[id]; |
546 | 0 | } Unexecuted instantiation: cfgparse.c:xprt_get Unexecuted instantiation: cli.c:xprt_get Unexecuted instantiation: connection.c:xprt_get Unexecuted instantiation: debug.c:xprt_get Unexecuted instantiation: errors.c:xprt_get Unexecuted instantiation: fd.c:xprt_get Unexecuted instantiation: filters.c:xprt_get Unexecuted instantiation: flt_http_comp.c:xprt_get Unexecuted instantiation: frontend.c:xprt_get Unexecuted instantiation: haproxy.c:xprt_get Unexecuted instantiation: http_ana.c:xprt_get Unexecuted instantiation: http_ext.c:xprt_get Unexecuted instantiation: http_htx.c:xprt_get Unexecuted instantiation: http_rules.c:xprt_get Unexecuted instantiation: limits.c:xprt_get Unexecuted instantiation: listener.c:xprt_get Unexecuted instantiation: log.c:xprt_get Unexecuted instantiation: mworker.c:xprt_get Unexecuted instantiation: peers.c:xprt_get Unexecuted instantiation: pool.c:xprt_get Unexecuted instantiation: proto_rhttp.c:xprt_get Unexecuted instantiation: proto_sockpair.c:xprt_get Unexecuted instantiation: proxy.c:xprt_get Unexecuted instantiation: queue.c:xprt_get Unexecuted instantiation: resolvers.c:xprt_get Unexecuted instantiation: ring.c:xprt_get Unexecuted instantiation: sample.c:xprt_get Unexecuted instantiation: server.c:xprt_get Unexecuted instantiation: session.c:xprt_get Unexecuted instantiation: sink.c:xprt_get Unexecuted instantiation: sock.c:xprt_get Unexecuted instantiation: stats-html.c:xprt_get Unexecuted instantiation: stats.c:xprt_get Unexecuted instantiation: stconn.c:xprt_get Unexecuted instantiation: stick_table.c:xprt_get Unexecuted instantiation: stream.c:xprt_get Unexecuted instantiation: tcp_rules.c:xprt_get Unexecuted instantiation: tcpcheck.c:xprt_get Unexecuted instantiation: thread.c:xprt_get Unexecuted instantiation: tools.c:xprt_get Unexecuted instantiation: trace.c:xprt_get Unexecuted instantiation: vars.c:xprt_get Unexecuted instantiation: activity.c:xprt_get Unexecuted instantiation: applet.c:xprt_get Unexecuted instantiation: backend.c:xprt_get Unexecuted instantiation: cache.c:xprt_get Unexecuted instantiation: cfgparse-global.c:xprt_get Unexecuted instantiation: cfgparse-listen.c:xprt_get Unexecuted instantiation: channel.c:xprt_get Unexecuted instantiation: check.c:xprt_get Unexecuted instantiation: compression.c:xprt_get Unexecuted instantiation: dns.c:xprt_get Unexecuted instantiation: dns_ring.c:xprt_get Unexecuted instantiation: fcgi-app.c:xprt_get Unexecuted instantiation: http_fetch.c:xprt_get Unexecuted instantiation: mux_spop.c:xprt_get Unexecuted instantiation: pattern.c:xprt_get Unexecuted instantiation: payload.c:xprt_get Unexecuted instantiation: proto_tcp.c:xprt_get Unexecuted instantiation: stats-json.c:xprt_get Unexecuted instantiation: stats-proxy.c:xprt_get Unexecuted instantiation: flt_spoe.c:xprt_get |
547 | | |
548 | | /* notify the next xprt that the connection is about to become idle and that it |
549 | | * may be stolen at any time after the function returns and that any tasklet in |
550 | | * the chain must be careful before dereferencing its context. |
551 | | */ |
552 | | static inline void xprt_set_idle(struct connection *conn, const struct xprt_ops *xprt, void *xprt_ctx) |
553 | 0 | { |
554 | 0 | if (xprt->set_idle) |
555 | 0 | xprt->set_idle(conn, conn->xprt_ctx); |
556 | 0 | } Unexecuted instantiation: cfgparse.c:xprt_set_idle Unexecuted instantiation: cli.c:xprt_set_idle Unexecuted instantiation: connection.c:xprt_set_idle Unexecuted instantiation: debug.c:xprt_set_idle Unexecuted instantiation: errors.c:xprt_set_idle Unexecuted instantiation: fd.c:xprt_set_idle Unexecuted instantiation: filters.c:xprt_set_idle Unexecuted instantiation: flt_http_comp.c:xprt_set_idle Unexecuted instantiation: frontend.c:xprt_set_idle Unexecuted instantiation: haproxy.c:xprt_set_idle Unexecuted instantiation: http_ana.c:xprt_set_idle Unexecuted instantiation: http_ext.c:xprt_set_idle Unexecuted instantiation: http_htx.c:xprt_set_idle Unexecuted instantiation: http_rules.c:xprt_set_idle Unexecuted instantiation: limits.c:xprt_set_idle Unexecuted instantiation: listener.c:xprt_set_idle Unexecuted instantiation: log.c:xprt_set_idle Unexecuted instantiation: mworker.c:xprt_set_idle Unexecuted instantiation: peers.c:xprt_set_idle Unexecuted instantiation: pool.c:xprt_set_idle Unexecuted instantiation: proto_rhttp.c:xprt_set_idle Unexecuted instantiation: proto_sockpair.c:xprt_set_idle Unexecuted instantiation: proxy.c:xprt_set_idle Unexecuted instantiation: queue.c:xprt_set_idle Unexecuted instantiation: resolvers.c:xprt_set_idle Unexecuted instantiation: ring.c:xprt_set_idle Unexecuted instantiation: sample.c:xprt_set_idle Unexecuted instantiation: server.c:xprt_set_idle Unexecuted instantiation: session.c:xprt_set_idle Unexecuted instantiation: sink.c:xprt_set_idle Unexecuted instantiation: sock.c:xprt_set_idle Unexecuted instantiation: stats-html.c:xprt_set_idle Unexecuted instantiation: stats.c:xprt_set_idle Unexecuted instantiation: stconn.c:xprt_set_idle Unexecuted instantiation: stick_table.c:xprt_set_idle Unexecuted instantiation: stream.c:xprt_set_idle Unexecuted instantiation: tcp_rules.c:xprt_set_idle Unexecuted instantiation: tcpcheck.c:xprt_set_idle Unexecuted instantiation: thread.c:xprt_set_idle Unexecuted instantiation: tools.c:xprt_set_idle Unexecuted instantiation: trace.c:xprt_set_idle Unexecuted instantiation: vars.c:xprt_set_idle Unexecuted instantiation: activity.c:xprt_set_idle Unexecuted instantiation: applet.c:xprt_set_idle Unexecuted instantiation: backend.c:xprt_set_idle Unexecuted instantiation: cache.c:xprt_set_idle Unexecuted instantiation: cfgparse-global.c:xprt_set_idle Unexecuted instantiation: cfgparse-listen.c:xprt_set_idle Unexecuted instantiation: channel.c:xprt_set_idle Unexecuted instantiation: check.c:xprt_set_idle Unexecuted instantiation: compression.c:xprt_set_idle Unexecuted instantiation: dns.c:xprt_set_idle Unexecuted instantiation: dns_ring.c:xprt_set_idle Unexecuted instantiation: fcgi-app.c:xprt_set_idle Unexecuted instantiation: http_fetch.c:xprt_set_idle Unexecuted instantiation: mux_spop.c:xprt_set_idle Unexecuted instantiation: pattern.c:xprt_set_idle Unexecuted instantiation: payload.c:xprt_set_idle Unexecuted instantiation: proto_tcp.c:xprt_set_idle Unexecuted instantiation: stats-json.c:xprt_set_idle Unexecuted instantiation: stats-proxy.c:xprt_set_idle Unexecuted instantiation: flt_spoe.c:xprt_set_idle |
557 | | |
558 | | /* notify the next xprt that the connection is not idle anymore and that it may |
559 | | * not be stolen before the next xprt_set_idle(). |
560 | | */ |
561 | | static inline void xprt_set_used(struct connection *conn, const struct xprt_ops *xprt, void *xprt_ctx) |
562 | 0 | { |
563 | 0 | if (xprt->set_used) |
564 | 0 | xprt->set_used(conn, conn->xprt_ctx); |
565 | 0 | } Unexecuted instantiation: cfgparse.c:xprt_set_used Unexecuted instantiation: cli.c:xprt_set_used Unexecuted instantiation: connection.c:xprt_set_used Unexecuted instantiation: debug.c:xprt_set_used Unexecuted instantiation: errors.c:xprt_set_used Unexecuted instantiation: fd.c:xprt_set_used Unexecuted instantiation: filters.c:xprt_set_used Unexecuted instantiation: flt_http_comp.c:xprt_set_used Unexecuted instantiation: frontend.c:xprt_set_used Unexecuted instantiation: haproxy.c:xprt_set_used Unexecuted instantiation: http_ana.c:xprt_set_used Unexecuted instantiation: http_ext.c:xprt_set_used Unexecuted instantiation: http_htx.c:xprt_set_used Unexecuted instantiation: http_rules.c:xprt_set_used Unexecuted instantiation: limits.c:xprt_set_used Unexecuted instantiation: listener.c:xprt_set_used Unexecuted instantiation: log.c:xprt_set_used Unexecuted instantiation: mworker.c:xprt_set_used Unexecuted instantiation: peers.c:xprt_set_used Unexecuted instantiation: pool.c:xprt_set_used Unexecuted instantiation: proto_rhttp.c:xprt_set_used Unexecuted instantiation: proto_sockpair.c:xprt_set_used Unexecuted instantiation: proxy.c:xprt_set_used Unexecuted instantiation: queue.c:xprt_set_used Unexecuted instantiation: resolvers.c:xprt_set_used Unexecuted instantiation: ring.c:xprt_set_used Unexecuted instantiation: sample.c:xprt_set_used Unexecuted instantiation: server.c:xprt_set_used Unexecuted instantiation: session.c:xprt_set_used Unexecuted instantiation: sink.c:xprt_set_used Unexecuted instantiation: sock.c:xprt_set_used Unexecuted instantiation: stats-html.c:xprt_set_used Unexecuted instantiation: stats.c:xprt_set_used Unexecuted instantiation: stconn.c:xprt_set_used Unexecuted instantiation: stick_table.c:xprt_set_used Unexecuted instantiation: stream.c:xprt_set_used Unexecuted instantiation: tcp_rules.c:xprt_set_used Unexecuted instantiation: tcpcheck.c:xprt_set_used Unexecuted instantiation: thread.c:xprt_set_used Unexecuted instantiation: tools.c:xprt_set_used Unexecuted instantiation: trace.c:xprt_set_used Unexecuted instantiation: vars.c:xprt_set_used Unexecuted instantiation: activity.c:xprt_set_used Unexecuted instantiation: applet.c:xprt_set_used Unexecuted instantiation: backend.c:xprt_set_used Unexecuted instantiation: cache.c:xprt_set_used Unexecuted instantiation: cfgparse-global.c:xprt_set_used Unexecuted instantiation: cfgparse-listen.c:xprt_set_used Unexecuted instantiation: channel.c:xprt_set_used Unexecuted instantiation: check.c:xprt_set_used Unexecuted instantiation: compression.c:xprt_set_used Unexecuted instantiation: dns.c:xprt_set_used Unexecuted instantiation: dns_ring.c:xprt_set_used Unexecuted instantiation: fcgi-app.c:xprt_set_used Unexecuted instantiation: http_fetch.c:xprt_set_used Unexecuted instantiation: mux_spop.c:xprt_set_used Unexecuted instantiation: pattern.c:xprt_set_used Unexecuted instantiation: payload.c:xprt_set_used Unexecuted instantiation: proto_tcp.c:xprt_set_used Unexecuted instantiation: stats-json.c:xprt_set_used Unexecuted instantiation: stats-proxy.c:xprt_set_used Unexecuted instantiation: flt_spoe.c:xprt_set_used |
566 | | |
567 | | static inline int conn_get_alpn(const struct connection *conn, const char **str, int *len) |
568 | 0 | { |
569 | 0 | if (!conn_xprt_ready(conn) || !conn->xprt->get_alpn) |
570 | 0 | return 0; |
571 | 0 | return conn->xprt->get_alpn(conn, conn->xprt_ctx, str, len); |
572 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_alpn Unexecuted instantiation: cli.c:conn_get_alpn Unexecuted instantiation: connection.c:conn_get_alpn Unexecuted instantiation: debug.c:conn_get_alpn Unexecuted instantiation: errors.c:conn_get_alpn Unexecuted instantiation: fd.c:conn_get_alpn Unexecuted instantiation: filters.c:conn_get_alpn Unexecuted instantiation: flt_http_comp.c:conn_get_alpn Unexecuted instantiation: frontend.c:conn_get_alpn Unexecuted instantiation: haproxy.c:conn_get_alpn Unexecuted instantiation: http_ana.c:conn_get_alpn Unexecuted instantiation: http_ext.c:conn_get_alpn Unexecuted instantiation: http_htx.c:conn_get_alpn Unexecuted instantiation: http_rules.c:conn_get_alpn Unexecuted instantiation: limits.c:conn_get_alpn Unexecuted instantiation: listener.c:conn_get_alpn Unexecuted instantiation: log.c:conn_get_alpn Unexecuted instantiation: mworker.c:conn_get_alpn Unexecuted instantiation: peers.c:conn_get_alpn Unexecuted instantiation: pool.c:conn_get_alpn Unexecuted instantiation: proto_rhttp.c:conn_get_alpn Unexecuted instantiation: proto_sockpair.c:conn_get_alpn Unexecuted instantiation: proxy.c:conn_get_alpn Unexecuted instantiation: queue.c:conn_get_alpn Unexecuted instantiation: resolvers.c:conn_get_alpn Unexecuted instantiation: ring.c:conn_get_alpn Unexecuted instantiation: sample.c:conn_get_alpn Unexecuted instantiation: server.c:conn_get_alpn Unexecuted instantiation: session.c:conn_get_alpn Unexecuted instantiation: sink.c:conn_get_alpn Unexecuted instantiation: sock.c:conn_get_alpn Unexecuted instantiation: stats-html.c:conn_get_alpn Unexecuted instantiation: stats.c:conn_get_alpn Unexecuted instantiation: stconn.c:conn_get_alpn Unexecuted instantiation: stick_table.c:conn_get_alpn Unexecuted instantiation: stream.c:conn_get_alpn Unexecuted instantiation: tcp_rules.c:conn_get_alpn Unexecuted instantiation: tcpcheck.c:conn_get_alpn Unexecuted instantiation: thread.c:conn_get_alpn Unexecuted instantiation: tools.c:conn_get_alpn Unexecuted instantiation: trace.c:conn_get_alpn Unexecuted instantiation: vars.c:conn_get_alpn Unexecuted instantiation: activity.c:conn_get_alpn Unexecuted instantiation: applet.c:conn_get_alpn Unexecuted instantiation: backend.c:conn_get_alpn Unexecuted instantiation: cache.c:conn_get_alpn Unexecuted instantiation: cfgparse-global.c:conn_get_alpn Unexecuted instantiation: cfgparse-listen.c:conn_get_alpn Unexecuted instantiation: channel.c:conn_get_alpn Unexecuted instantiation: check.c:conn_get_alpn Unexecuted instantiation: compression.c:conn_get_alpn Unexecuted instantiation: dns.c:conn_get_alpn Unexecuted instantiation: dns_ring.c:conn_get_alpn Unexecuted instantiation: fcgi-app.c:conn_get_alpn Unexecuted instantiation: http_fetch.c:conn_get_alpn Unexecuted instantiation: mux_spop.c:conn_get_alpn Unexecuted instantiation: pattern.c:conn_get_alpn Unexecuted instantiation: payload.c:conn_get_alpn Unexecuted instantiation: proto_tcp.c:conn_get_alpn Unexecuted instantiation: stats-json.c:conn_get_alpn Unexecuted instantiation: stats-proxy.c:conn_get_alpn Unexecuted instantiation: flt_spoe.c:conn_get_alpn |
573 | | |
574 | | /* unregisters proto mux list <list> */ |
575 | | static inline void unregister_mux_proto(struct mux_proto_list *list) |
576 | 0 | { |
577 | 0 | LIST_DELETE(&list->list); |
578 | 0 | LIST_INIT(&list->list); |
579 | 0 | } Unexecuted instantiation: cfgparse.c:unregister_mux_proto Unexecuted instantiation: cli.c:unregister_mux_proto Unexecuted instantiation: connection.c:unregister_mux_proto Unexecuted instantiation: debug.c:unregister_mux_proto Unexecuted instantiation: errors.c:unregister_mux_proto Unexecuted instantiation: fd.c:unregister_mux_proto Unexecuted instantiation: filters.c:unregister_mux_proto Unexecuted instantiation: flt_http_comp.c:unregister_mux_proto Unexecuted instantiation: frontend.c:unregister_mux_proto Unexecuted instantiation: haproxy.c:unregister_mux_proto Unexecuted instantiation: http_ana.c:unregister_mux_proto Unexecuted instantiation: http_ext.c:unregister_mux_proto Unexecuted instantiation: http_htx.c:unregister_mux_proto Unexecuted instantiation: http_rules.c:unregister_mux_proto Unexecuted instantiation: limits.c:unregister_mux_proto Unexecuted instantiation: listener.c:unregister_mux_proto Unexecuted instantiation: log.c:unregister_mux_proto Unexecuted instantiation: mworker.c:unregister_mux_proto Unexecuted instantiation: peers.c:unregister_mux_proto Unexecuted instantiation: pool.c:unregister_mux_proto Unexecuted instantiation: proto_rhttp.c:unregister_mux_proto Unexecuted instantiation: proto_sockpair.c:unregister_mux_proto Unexecuted instantiation: proxy.c:unregister_mux_proto Unexecuted instantiation: queue.c:unregister_mux_proto Unexecuted instantiation: resolvers.c:unregister_mux_proto Unexecuted instantiation: ring.c:unregister_mux_proto Unexecuted instantiation: sample.c:unregister_mux_proto Unexecuted instantiation: server.c:unregister_mux_proto Unexecuted instantiation: session.c:unregister_mux_proto Unexecuted instantiation: sink.c:unregister_mux_proto Unexecuted instantiation: sock.c:unregister_mux_proto Unexecuted instantiation: stats-html.c:unregister_mux_proto Unexecuted instantiation: stats.c:unregister_mux_proto Unexecuted instantiation: stconn.c:unregister_mux_proto Unexecuted instantiation: stick_table.c:unregister_mux_proto Unexecuted instantiation: stream.c:unregister_mux_proto Unexecuted instantiation: tcp_rules.c:unregister_mux_proto Unexecuted instantiation: tcpcheck.c:unregister_mux_proto Unexecuted instantiation: thread.c:unregister_mux_proto Unexecuted instantiation: tools.c:unregister_mux_proto Unexecuted instantiation: trace.c:unregister_mux_proto Unexecuted instantiation: vars.c:unregister_mux_proto Unexecuted instantiation: activity.c:unregister_mux_proto Unexecuted instantiation: applet.c:unregister_mux_proto Unexecuted instantiation: backend.c:unregister_mux_proto Unexecuted instantiation: cache.c:unregister_mux_proto Unexecuted instantiation: cfgparse-global.c:unregister_mux_proto Unexecuted instantiation: cfgparse-listen.c:unregister_mux_proto Unexecuted instantiation: channel.c:unregister_mux_proto Unexecuted instantiation: check.c:unregister_mux_proto Unexecuted instantiation: compression.c:unregister_mux_proto Unexecuted instantiation: dns.c:unregister_mux_proto Unexecuted instantiation: dns_ring.c:unregister_mux_proto Unexecuted instantiation: fcgi-app.c:unregister_mux_proto Unexecuted instantiation: http_fetch.c:unregister_mux_proto Unexecuted instantiation: mux_spop.c:unregister_mux_proto Unexecuted instantiation: pattern.c:unregister_mux_proto Unexecuted instantiation: payload.c:unregister_mux_proto Unexecuted instantiation: proto_tcp.c:unregister_mux_proto Unexecuted instantiation: stats-json.c:unregister_mux_proto Unexecuted instantiation: stats-proxy.c:unregister_mux_proto Unexecuted instantiation: flt_spoe.c:unregister_mux_proto |
580 | | |
581 | | static inline struct mux_proto_list *get_mux_proto(const struct ist proto) |
582 | 0 | { |
583 | 0 | struct mux_proto_list *item; |
584 | |
|
585 | 0 | list_for_each_entry(item, &mux_proto_list.list, list) { |
586 | 0 | if (isteq(proto, item->token)) |
587 | 0 | return item; |
588 | 0 | } |
589 | 0 | return NULL; |
590 | 0 | } Unexecuted instantiation: cfgparse.c:get_mux_proto Unexecuted instantiation: cli.c:get_mux_proto Unexecuted instantiation: connection.c:get_mux_proto Unexecuted instantiation: debug.c:get_mux_proto Unexecuted instantiation: errors.c:get_mux_proto Unexecuted instantiation: fd.c:get_mux_proto Unexecuted instantiation: filters.c:get_mux_proto Unexecuted instantiation: flt_http_comp.c:get_mux_proto Unexecuted instantiation: frontend.c:get_mux_proto Unexecuted instantiation: haproxy.c:get_mux_proto Unexecuted instantiation: http_ana.c:get_mux_proto Unexecuted instantiation: http_ext.c:get_mux_proto Unexecuted instantiation: http_htx.c:get_mux_proto Unexecuted instantiation: http_rules.c:get_mux_proto Unexecuted instantiation: limits.c:get_mux_proto Unexecuted instantiation: listener.c:get_mux_proto Unexecuted instantiation: log.c:get_mux_proto Unexecuted instantiation: mworker.c:get_mux_proto Unexecuted instantiation: peers.c:get_mux_proto Unexecuted instantiation: pool.c:get_mux_proto Unexecuted instantiation: proto_rhttp.c:get_mux_proto Unexecuted instantiation: proto_sockpair.c:get_mux_proto Unexecuted instantiation: proxy.c:get_mux_proto Unexecuted instantiation: queue.c:get_mux_proto Unexecuted instantiation: resolvers.c:get_mux_proto Unexecuted instantiation: ring.c:get_mux_proto Unexecuted instantiation: sample.c:get_mux_proto Unexecuted instantiation: server.c:get_mux_proto Unexecuted instantiation: session.c:get_mux_proto Unexecuted instantiation: sink.c:get_mux_proto Unexecuted instantiation: sock.c:get_mux_proto Unexecuted instantiation: stats-html.c:get_mux_proto Unexecuted instantiation: stats.c:get_mux_proto Unexecuted instantiation: stconn.c:get_mux_proto Unexecuted instantiation: stick_table.c:get_mux_proto Unexecuted instantiation: stream.c:get_mux_proto Unexecuted instantiation: tcp_rules.c:get_mux_proto Unexecuted instantiation: tcpcheck.c:get_mux_proto Unexecuted instantiation: thread.c:get_mux_proto Unexecuted instantiation: tools.c:get_mux_proto Unexecuted instantiation: trace.c:get_mux_proto Unexecuted instantiation: vars.c:get_mux_proto Unexecuted instantiation: activity.c:get_mux_proto Unexecuted instantiation: applet.c:get_mux_proto Unexecuted instantiation: backend.c:get_mux_proto Unexecuted instantiation: cache.c:get_mux_proto Unexecuted instantiation: cfgparse-global.c:get_mux_proto Unexecuted instantiation: cfgparse-listen.c:get_mux_proto Unexecuted instantiation: channel.c:get_mux_proto Unexecuted instantiation: check.c:get_mux_proto Unexecuted instantiation: compression.c:get_mux_proto Unexecuted instantiation: dns.c:get_mux_proto Unexecuted instantiation: dns_ring.c:get_mux_proto Unexecuted instantiation: fcgi-app.c:get_mux_proto Unexecuted instantiation: http_fetch.c:get_mux_proto Unexecuted instantiation: mux_spop.c:get_mux_proto Unexecuted instantiation: pattern.c:get_mux_proto Unexecuted instantiation: payload.c:get_mux_proto Unexecuted instantiation: proto_tcp.c:get_mux_proto Unexecuted instantiation: stats-json.c:get_mux_proto Unexecuted instantiation: stats-proxy.c:get_mux_proto Unexecuted instantiation: flt_spoe.c:get_mux_proto |
591 | | |
592 | | void list_mux_proto(FILE *out); |
593 | | /* returns the first mux entry in the list matching the exact same <mux_proto> |
594 | | * and compatible with the <proto_side> (FE or BE) and the <proto_mode> (TCP or |
595 | | * HTTP). <mux_proto> can be empty. Will fall back to the first compatible mux |
596 | | * with exactly the same <proto_mode> or with an empty name. May return |
597 | | * null if the code improperly registered the default mux to use as a fallback. |
598 | | * |
599 | | * <proto_mode> expects PROTO_MODE_* value only: PROXY_MODE_* values should |
600 | | * never be used directly here (but you may use conn_pr_mode_to_proto_mode() |
601 | | * to map proxy mode to corresponding proto mode before calling the function). |
602 | | */ |
603 | | static inline const struct mux_proto_list *conn_get_best_mux_entry( |
604 | | const struct ist mux_proto, |
605 | | int proto_side, int proto_mode) |
606 | 0 | { |
607 | 0 | struct mux_proto_list *item; |
608 | 0 | struct mux_proto_list *fallback = NULL; |
609 | |
|
610 | 0 | list_for_each_entry(item, &mux_proto_list.list, list) { |
611 | 0 | if (!(item->side & proto_side) || !(item->mode & proto_mode)) |
612 | 0 | continue; |
613 | 0 | if (istlen(mux_proto) && isteq(mux_proto, item->token)) |
614 | 0 | return item; |
615 | 0 | else if (!istlen(item->token)) { |
616 | 0 | if (!fallback || (item->mode == proto_mode && fallback->mode != proto_mode)) |
617 | 0 | fallback = item; |
618 | 0 | } |
619 | 0 | } |
620 | 0 | return fallback; |
621 | |
|
622 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_best_mux_entry Unexecuted instantiation: cli.c:conn_get_best_mux_entry Unexecuted instantiation: connection.c:conn_get_best_mux_entry Unexecuted instantiation: debug.c:conn_get_best_mux_entry Unexecuted instantiation: errors.c:conn_get_best_mux_entry Unexecuted instantiation: fd.c:conn_get_best_mux_entry Unexecuted instantiation: filters.c:conn_get_best_mux_entry Unexecuted instantiation: flt_http_comp.c:conn_get_best_mux_entry Unexecuted instantiation: frontend.c:conn_get_best_mux_entry Unexecuted instantiation: haproxy.c:conn_get_best_mux_entry Unexecuted instantiation: http_ana.c:conn_get_best_mux_entry Unexecuted instantiation: http_ext.c:conn_get_best_mux_entry Unexecuted instantiation: http_htx.c:conn_get_best_mux_entry Unexecuted instantiation: http_rules.c:conn_get_best_mux_entry Unexecuted instantiation: limits.c:conn_get_best_mux_entry Unexecuted instantiation: listener.c:conn_get_best_mux_entry Unexecuted instantiation: log.c:conn_get_best_mux_entry Unexecuted instantiation: mworker.c:conn_get_best_mux_entry Unexecuted instantiation: peers.c:conn_get_best_mux_entry Unexecuted instantiation: pool.c:conn_get_best_mux_entry Unexecuted instantiation: proto_rhttp.c:conn_get_best_mux_entry Unexecuted instantiation: proto_sockpair.c:conn_get_best_mux_entry Unexecuted instantiation: proxy.c:conn_get_best_mux_entry Unexecuted instantiation: queue.c:conn_get_best_mux_entry Unexecuted instantiation: resolvers.c:conn_get_best_mux_entry Unexecuted instantiation: ring.c:conn_get_best_mux_entry Unexecuted instantiation: sample.c:conn_get_best_mux_entry Unexecuted instantiation: server.c:conn_get_best_mux_entry Unexecuted instantiation: session.c:conn_get_best_mux_entry Unexecuted instantiation: sink.c:conn_get_best_mux_entry Unexecuted instantiation: sock.c:conn_get_best_mux_entry Unexecuted instantiation: stats-html.c:conn_get_best_mux_entry Unexecuted instantiation: stats.c:conn_get_best_mux_entry Unexecuted instantiation: stconn.c:conn_get_best_mux_entry Unexecuted instantiation: stick_table.c:conn_get_best_mux_entry Unexecuted instantiation: stream.c:conn_get_best_mux_entry Unexecuted instantiation: tcp_rules.c:conn_get_best_mux_entry Unexecuted instantiation: tcpcheck.c:conn_get_best_mux_entry Unexecuted instantiation: thread.c:conn_get_best_mux_entry Unexecuted instantiation: tools.c:conn_get_best_mux_entry Unexecuted instantiation: trace.c:conn_get_best_mux_entry Unexecuted instantiation: vars.c:conn_get_best_mux_entry Unexecuted instantiation: activity.c:conn_get_best_mux_entry Unexecuted instantiation: applet.c:conn_get_best_mux_entry Unexecuted instantiation: backend.c:conn_get_best_mux_entry Unexecuted instantiation: cache.c:conn_get_best_mux_entry Unexecuted instantiation: cfgparse-global.c:conn_get_best_mux_entry Unexecuted instantiation: cfgparse-listen.c:conn_get_best_mux_entry Unexecuted instantiation: channel.c:conn_get_best_mux_entry Unexecuted instantiation: check.c:conn_get_best_mux_entry Unexecuted instantiation: compression.c:conn_get_best_mux_entry Unexecuted instantiation: dns.c:conn_get_best_mux_entry Unexecuted instantiation: dns_ring.c:conn_get_best_mux_entry Unexecuted instantiation: fcgi-app.c:conn_get_best_mux_entry Unexecuted instantiation: http_fetch.c:conn_get_best_mux_entry Unexecuted instantiation: mux_spop.c:conn_get_best_mux_entry Unexecuted instantiation: pattern.c:conn_get_best_mux_entry Unexecuted instantiation: payload.c:conn_get_best_mux_entry Unexecuted instantiation: proto_tcp.c:conn_get_best_mux_entry Unexecuted instantiation: stats-json.c:conn_get_best_mux_entry Unexecuted instantiation: stats-proxy.c:conn_get_best_mux_entry Unexecuted instantiation: flt_spoe.c:conn_get_best_mux_entry |
623 | | |
624 | | /* returns the first mux in the list matching the exact same <mux_proto> and |
625 | | * compatible with the <proto_side> (FE or BE) and the <proto_mode> (TCP or |
626 | | * HTTP). <mux_proto> can be empty. Will fall back to the first compatible mux |
627 | | * with exactly the same <proto_mode> or with an empty name. May return |
628 | | * null if the code improperly registered the default mux to use as a fallback. |
629 | | */ |
630 | | static inline const struct mux_ops *conn_get_best_mux(struct connection *conn, |
631 | | const struct ist mux_proto, |
632 | | int proto_side, int proto_mode) |
633 | 0 | { |
634 | 0 | const struct mux_proto_list *item; |
635 | |
|
636 | 0 | item = conn_get_best_mux_entry(mux_proto, proto_side, proto_mode); |
637 | |
|
638 | 0 | return item ? item->mux : NULL; |
639 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_best_mux Unexecuted instantiation: cli.c:conn_get_best_mux Unexecuted instantiation: connection.c:conn_get_best_mux Unexecuted instantiation: debug.c:conn_get_best_mux Unexecuted instantiation: errors.c:conn_get_best_mux Unexecuted instantiation: fd.c:conn_get_best_mux Unexecuted instantiation: filters.c:conn_get_best_mux Unexecuted instantiation: flt_http_comp.c:conn_get_best_mux Unexecuted instantiation: frontend.c:conn_get_best_mux Unexecuted instantiation: haproxy.c:conn_get_best_mux Unexecuted instantiation: http_ana.c:conn_get_best_mux Unexecuted instantiation: http_ext.c:conn_get_best_mux Unexecuted instantiation: http_htx.c:conn_get_best_mux Unexecuted instantiation: http_rules.c:conn_get_best_mux Unexecuted instantiation: limits.c:conn_get_best_mux Unexecuted instantiation: listener.c:conn_get_best_mux Unexecuted instantiation: log.c:conn_get_best_mux Unexecuted instantiation: mworker.c:conn_get_best_mux Unexecuted instantiation: peers.c:conn_get_best_mux Unexecuted instantiation: pool.c:conn_get_best_mux Unexecuted instantiation: proto_rhttp.c:conn_get_best_mux Unexecuted instantiation: proto_sockpair.c:conn_get_best_mux Unexecuted instantiation: proxy.c:conn_get_best_mux Unexecuted instantiation: queue.c:conn_get_best_mux Unexecuted instantiation: resolvers.c:conn_get_best_mux Unexecuted instantiation: ring.c:conn_get_best_mux Unexecuted instantiation: sample.c:conn_get_best_mux Unexecuted instantiation: server.c:conn_get_best_mux Unexecuted instantiation: session.c:conn_get_best_mux Unexecuted instantiation: sink.c:conn_get_best_mux Unexecuted instantiation: sock.c:conn_get_best_mux Unexecuted instantiation: stats-html.c:conn_get_best_mux Unexecuted instantiation: stats.c:conn_get_best_mux Unexecuted instantiation: stconn.c:conn_get_best_mux Unexecuted instantiation: stick_table.c:conn_get_best_mux Unexecuted instantiation: stream.c:conn_get_best_mux Unexecuted instantiation: tcp_rules.c:conn_get_best_mux Unexecuted instantiation: tcpcheck.c:conn_get_best_mux Unexecuted instantiation: thread.c:conn_get_best_mux Unexecuted instantiation: tools.c:conn_get_best_mux Unexecuted instantiation: trace.c:conn_get_best_mux Unexecuted instantiation: vars.c:conn_get_best_mux Unexecuted instantiation: activity.c:conn_get_best_mux Unexecuted instantiation: applet.c:conn_get_best_mux Unexecuted instantiation: backend.c:conn_get_best_mux Unexecuted instantiation: cache.c:conn_get_best_mux Unexecuted instantiation: cfgparse-global.c:conn_get_best_mux Unexecuted instantiation: cfgparse-listen.c:conn_get_best_mux Unexecuted instantiation: channel.c:conn_get_best_mux Unexecuted instantiation: check.c:conn_get_best_mux Unexecuted instantiation: compression.c:conn_get_best_mux Unexecuted instantiation: dns.c:conn_get_best_mux Unexecuted instantiation: dns_ring.c:conn_get_best_mux Unexecuted instantiation: fcgi-app.c:conn_get_best_mux Unexecuted instantiation: http_fetch.c:conn_get_best_mux Unexecuted instantiation: mux_spop.c:conn_get_best_mux Unexecuted instantiation: pattern.c:conn_get_best_mux Unexecuted instantiation: payload.c:conn_get_best_mux Unexecuted instantiation: proto_tcp.c:conn_get_best_mux Unexecuted instantiation: stats-json.c:conn_get_best_mux Unexecuted instantiation: stats-proxy.c:conn_get_best_mux Unexecuted instantiation: flt_spoe.c:conn_get_best_mux |
640 | | |
641 | | /* returns a pointer to the proxy associated with this connection. For a front |
642 | | * connection it returns a pointer to the frontend ; for a back connection, it |
643 | | * returns a pointer to the backend. |
644 | | */ |
645 | | static inline struct proxy *conn_get_proxy(const struct connection *conn) |
646 | 0 | { |
647 | 0 | struct listener *l; |
648 | 0 | struct server *s; |
649 | 0 |
|
650 | 0 | /* check if it's a frontend connection */ |
651 | 0 | l = objt_listener(conn->target); |
652 | 0 | if (l) |
653 | 0 | return l->bind_conf->frontend; |
654 | 0 |
|
655 | 0 | /* check if it's a backend connection */ |
656 | 0 | s = objt_server(conn->target); |
657 | 0 | if (s) |
658 | 0 | return s->proxy; |
659 | 0 |
|
660 | 0 | return objt_proxy(conn->target); |
661 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_proxy Unexecuted instantiation: cli.c:conn_get_proxy Unexecuted instantiation: connection.c:conn_get_proxy Unexecuted instantiation: debug.c:conn_get_proxy Unexecuted instantiation: errors.c:conn_get_proxy Unexecuted instantiation: fd.c:conn_get_proxy Unexecuted instantiation: filters.c:conn_get_proxy Unexecuted instantiation: flt_http_comp.c:conn_get_proxy Unexecuted instantiation: frontend.c:conn_get_proxy Unexecuted instantiation: haproxy.c:conn_get_proxy Unexecuted instantiation: http_ana.c:conn_get_proxy Unexecuted instantiation: http_ext.c:conn_get_proxy Unexecuted instantiation: http_htx.c:conn_get_proxy Unexecuted instantiation: http_rules.c:conn_get_proxy Unexecuted instantiation: limits.c:conn_get_proxy Unexecuted instantiation: listener.c:conn_get_proxy Unexecuted instantiation: log.c:conn_get_proxy Unexecuted instantiation: mworker.c:conn_get_proxy Unexecuted instantiation: peers.c:conn_get_proxy Unexecuted instantiation: pool.c:conn_get_proxy Unexecuted instantiation: proto_rhttp.c:conn_get_proxy Unexecuted instantiation: proto_sockpair.c:conn_get_proxy Unexecuted instantiation: proxy.c:conn_get_proxy Unexecuted instantiation: queue.c:conn_get_proxy Unexecuted instantiation: resolvers.c:conn_get_proxy Unexecuted instantiation: ring.c:conn_get_proxy Unexecuted instantiation: sample.c:conn_get_proxy Unexecuted instantiation: server.c:conn_get_proxy Unexecuted instantiation: session.c:conn_get_proxy Unexecuted instantiation: sink.c:conn_get_proxy Unexecuted instantiation: sock.c:conn_get_proxy Unexecuted instantiation: stats-html.c:conn_get_proxy Unexecuted instantiation: stats.c:conn_get_proxy Unexecuted instantiation: stconn.c:conn_get_proxy Unexecuted instantiation: stick_table.c:conn_get_proxy Unexecuted instantiation: stream.c:conn_get_proxy Unexecuted instantiation: tcp_rules.c:conn_get_proxy Unexecuted instantiation: tcpcheck.c:conn_get_proxy Unexecuted instantiation: thread.c:conn_get_proxy Unexecuted instantiation: tools.c:conn_get_proxy Unexecuted instantiation: trace.c:conn_get_proxy Unexecuted instantiation: vars.c:conn_get_proxy Unexecuted instantiation: activity.c:conn_get_proxy Unexecuted instantiation: applet.c:conn_get_proxy Unexecuted instantiation: backend.c:conn_get_proxy Unexecuted instantiation: cache.c:conn_get_proxy Unexecuted instantiation: cfgparse-global.c:conn_get_proxy Unexecuted instantiation: cfgparse-listen.c:conn_get_proxy Unexecuted instantiation: channel.c:conn_get_proxy Unexecuted instantiation: check.c:conn_get_proxy Unexecuted instantiation: compression.c:conn_get_proxy Unexecuted instantiation: dns.c:conn_get_proxy Unexecuted instantiation: dns_ring.c:conn_get_proxy Unexecuted instantiation: fcgi-app.c:conn_get_proxy Unexecuted instantiation: http_fetch.c:conn_get_proxy Unexecuted instantiation: mux_spop.c:conn_get_proxy Unexecuted instantiation: pattern.c:conn_get_proxy Unexecuted instantiation: payload.c:conn_get_proxy Unexecuted instantiation: proto_tcp.c:conn_get_proxy Unexecuted instantiation: stats-json.c:conn_get_proxy Unexecuted instantiation: stats-proxy.c:conn_get_proxy Unexecuted instantiation: flt_spoe.c:conn_get_proxy |
662 | | |
663 | | /* unconditionally retrieves the ssl_sock_ctx for this connection. Prefer using |
664 | | * the standard form conn_get_ssl_sock_ctx() which checks the transport layer |
665 | | * and the availability of the method. |
666 | | */ |
667 | | static inline struct ssl_sock_ctx *__conn_get_ssl_sock_ctx(struct connection *conn) |
668 | 0 | { |
669 | 0 | return conn->xprt->get_ssl_sock_ctx(conn); |
670 | 0 | } Unexecuted instantiation: cfgparse.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: cli.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: connection.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: debug.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: errors.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: fd.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: filters.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: flt_http_comp.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: frontend.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: haproxy.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: http_ana.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: http_ext.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: http_htx.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: http_rules.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: limits.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: listener.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: log.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: mworker.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: peers.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: pool.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: proto_rhttp.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: proto_sockpair.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: proxy.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: queue.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: resolvers.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: ring.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: sample.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: server.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: session.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: sink.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: sock.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stats-html.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stats.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stconn.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stick_table.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stream.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: tcp_rules.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: tcpcheck.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: thread.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: tools.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: trace.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: vars.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: activity.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: applet.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: backend.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: cache.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: cfgparse-global.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: cfgparse-listen.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: channel.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: check.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: compression.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: dns.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: dns_ring.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: fcgi-app.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: http_fetch.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: mux_spop.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: pattern.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: payload.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: proto_tcp.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stats-json.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: stats-proxy.c:__conn_get_ssl_sock_ctx Unexecuted instantiation: flt_spoe.c:__conn_get_ssl_sock_ctx |
671 | | |
672 | | /* retrieves the ssl_sock_ctx for this connection otherwise NULL */ |
673 | | static inline struct ssl_sock_ctx *conn_get_ssl_sock_ctx(struct connection *conn) |
674 | 0 | { |
675 | 0 | if (!conn || !conn->xprt || !conn->xprt->get_ssl_sock_ctx) |
676 | 0 | return NULL; |
677 | 0 | return conn->xprt->get_ssl_sock_ctx(conn); |
678 | 0 | } Unexecuted instantiation: cfgparse.c:conn_get_ssl_sock_ctx Unexecuted instantiation: cli.c:conn_get_ssl_sock_ctx Unexecuted instantiation: connection.c:conn_get_ssl_sock_ctx Unexecuted instantiation: debug.c:conn_get_ssl_sock_ctx Unexecuted instantiation: errors.c:conn_get_ssl_sock_ctx Unexecuted instantiation: fd.c:conn_get_ssl_sock_ctx Unexecuted instantiation: filters.c:conn_get_ssl_sock_ctx Unexecuted instantiation: flt_http_comp.c:conn_get_ssl_sock_ctx Unexecuted instantiation: frontend.c:conn_get_ssl_sock_ctx Unexecuted instantiation: haproxy.c:conn_get_ssl_sock_ctx Unexecuted instantiation: http_ana.c:conn_get_ssl_sock_ctx Unexecuted instantiation: http_ext.c:conn_get_ssl_sock_ctx Unexecuted instantiation: http_htx.c:conn_get_ssl_sock_ctx Unexecuted instantiation: http_rules.c:conn_get_ssl_sock_ctx Unexecuted instantiation: limits.c:conn_get_ssl_sock_ctx Unexecuted instantiation: listener.c:conn_get_ssl_sock_ctx Unexecuted instantiation: log.c:conn_get_ssl_sock_ctx Unexecuted instantiation: mworker.c:conn_get_ssl_sock_ctx Unexecuted instantiation: peers.c:conn_get_ssl_sock_ctx Unexecuted instantiation: pool.c:conn_get_ssl_sock_ctx Unexecuted instantiation: proto_rhttp.c:conn_get_ssl_sock_ctx Unexecuted instantiation: proto_sockpair.c:conn_get_ssl_sock_ctx Unexecuted instantiation: proxy.c:conn_get_ssl_sock_ctx Unexecuted instantiation: queue.c:conn_get_ssl_sock_ctx Unexecuted instantiation: resolvers.c:conn_get_ssl_sock_ctx Unexecuted instantiation: ring.c:conn_get_ssl_sock_ctx Unexecuted instantiation: sample.c:conn_get_ssl_sock_ctx Unexecuted instantiation: server.c:conn_get_ssl_sock_ctx Unexecuted instantiation: session.c:conn_get_ssl_sock_ctx Unexecuted instantiation: sink.c:conn_get_ssl_sock_ctx Unexecuted instantiation: sock.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stats-html.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stats.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stconn.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stick_table.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stream.c:conn_get_ssl_sock_ctx Unexecuted instantiation: tcp_rules.c:conn_get_ssl_sock_ctx Unexecuted instantiation: tcpcheck.c:conn_get_ssl_sock_ctx Unexecuted instantiation: thread.c:conn_get_ssl_sock_ctx Unexecuted instantiation: tools.c:conn_get_ssl_sock_ctx Unexecuted instantiation: trace.c:conn_get_ssl_sock_ctx Unexecuted instantiation: vars.c:conn_get_ssl_sock_ctx Unexecuted instantiation: activity.c:conn_get_ssl_sock_ctx Unexecuted instantiation: applet.c:conn_get_ssl_sock_ctx Unexecuted instantiation: backend.c:conn_get_ssl_sock_ctx Unexecuted instantiation: cache.c:conn_get_ssl_sock_ctx Unexecuted instantiation: cfgparse-global.c:conn_get_ssl_sock_ctx Unexecuted instantiation: cfgparse-listen.c:conn_get_ssl_sock_ctx Unexecuted instantiation: channel.c:conn_get_ssl_sock_ctx Unexecuted instantiation: check.c:conn_get_ssl_sock_ctx Unexecuted instantiation: compression.c:conn_get_ssl_sock_ctx Unexecuted instantiation: dns.c:conn_get_ssl_sock_ctx Unexecuted instantiation: dns_ring.c:conn_get_ssl_sock_ctx Unexecuted instantiation: fcgi-app.c:conn_get_ssl_sock_ctx Unexecuted instantiation: http_fetch.c:conn_get_ssl_sock_ctx Unexecuted instantiation: mux_spop.c:conn_get_ssl_sock_ctx Unexecuted instantiation: pattern.c:conn_get_ssl_sock_ctx Unexecuted instantiation: payload.c:conn_get_ssl_sock_ctx Unexecuted instantiation: proto_tcp.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stats-json.c:conn_get_ssl_sock_ctx Unexecuted instantiation: stats-proxy.c:conn_get_ssl_sock_ctx Unexecuted instantiation: flt_spoe.c:conn_get_ssl_sock_ctx |
679 | | |
680 | | /* boolean, returns true if connection is over SSL */ |
681 | | static inline int conn_is_ssl(struct connection *conn) |
682 | 0 | { |
683 | 0 | return !!conn_get_ssl_sock_ctx(conn); |
684 | 0 | } Unexecuted instantiation: cfgparse.c:conn_is_ssl Unexecuted instantiation: cli.c:conn_is_ssl Unexecuted instantiation: connection.c:conn_is_ssl Unexecuted instantiation: debug.c:conn_is_ssl Unexecuted instantiation: errors.c:conn_is_ssl Unexecuted instantiation: fd.c:conn_is_ssl Unexecuted instantiation: filters.c:conn_is_ssl Unexecuted instantiation: flt_http_comp.c:conn_is_ssl Unexecuted instantiation: frontend.c:conn_is_ssl Unexecuted instantiation: haproxy.c:conn_is_ssl Unexecuted instantiation: http_ana.c:conn_is_ssl Unexecuted instantiation: http_ext.c:conn_is_ssl Unexecuted instantiation: http_htx.c:conn_is_ssl Unexecuted instantiation: http_rules.c:conn_is_ssl Unexecuted instantiation: limits.c:conn_is_ssl Unexecuted instantiation: listener.c:conn_is_ssl Unexecuted instantiation: log.c:conn_is_ssl Unexecuted instantiation: mworker.c:conn_is_ssl Unexecuted instantiation: peers.c:conn_is_ssl Unexecuted instantiation: pool.c:conn_is_ssl Unexecuted instantiation: proto_rhttp.c:conn_is_ssl Unexecuted instantiation: proto_sockpair.c:conn_is_ssl Unexecuted instantiation: proxy.c:conn_is_ssl Unexecuted instantiation: queue.c:conn_is_ssl Unexecuted instantiation: resolvers.c:conn_is_ssl Unexecuted instantiation: ring.c:conn_is_ssl Unexecuted instantiation: sample.c:conn_is_ssl Unexecuted instantiation: server.c:conn_is_ssl Unexecuted instantiation: session.c:conn_is_ssl Unexecuted instantiation: sink.c:conn_is_ssl Unexecuted instantiation: sock.c:conn_is_ssl Unexecuted instantiation: stats-html.c:conn_is_ssl Unexecuted instantiation: stats.c:conn_is_ssl Unexecuted instantiation: stconn.c:conn_is_ssl Unexecuted instantiation: stick_table.c:conn_is_ssl Unexecuted instantiation: stream.c:conn_is_ssl Unexecuted instantiation: tcp_rules.c:conn_is_ssl Unexecuted instantiation: tcpcheck.c:conn_is_ssl Unexecuted instantiation: thread.c:conn_is_ssl Unexecuted instantiation: tools.c:conn_is_ssl Unexecuted instantiation: trace.c:conn_is_ssl Unexecuted instantiation: vars.c:conn_is_ssl Unexecuted instantiation: activity.c:conn_is_ssl Unexecuted instantiation: applet.c:conn_is_ssl Unexecuted instantiation: backend.c:conn_is_ssl Unexecuted instantiation: cache.c:conn_is_ssl Unexecuted instantiation: cfgparse-global.c:conn_is_ssl Unexecuted instantiation: cfgparse-listen.c:conn_is_ssl Unexecuted instantiation: channel.c:conn_is_ssl Unexecuted instantiation: check.c:conn_is_ssl Unexecuted instantiation: compression.c:conn_is_ssl Unexecuted instantiation: dns.c:conn_is_ssl Unexecuted instantiation: dns_ring.c:conn_is_ssl Unexecuted instantiation: fcgi-app.c:conn_is_ssl Unexecuted instantiation: http_fetch.c:conn_is_ssl Unexecuted instantiation: mux_spop.c:conn_is_ssl Unexecuted instantiation: pattern.c:conn_is_ssl Unexecuted instantiation: payload.c:conn_is_ssl Unexecuted instantiation: proto_tcp.c:conn_is_ssl Unexecuted instantiation: stats-json.c:conn_is_ssl Unexecuted instantiation: stats-proxy.c:conn_is_ssl Unexecuted instantiation: flt_spoe.c:conn_is_ssl |
685 | | |
686 | | /* Returns true if connection must be reversed. */ |
687 | | static inline int conn_is_reverse(const struct connection *conn) |
688 | 0 | { |
689 | 0 | return !!(conn->reverse.target); |
690 | 0 | } Unexecuted instantiation: cfgparse.c:conn_is_reverse Unexecuted instantiation: cli.c:conn_is_reverse Unexecuted instantiation: connection.c:conn_is_reverse Unexecuted instantiation: debug.c:conn_is_reverse Unexecuted instantiation: errors.c:conn_is_reverse Unexecuted instantiation: fd.c:conn_is_reverse Unexecuted instantiation: filters.c:conn_is_reverse Unexecuted instantiation: flt_http_comp.c:conn_is_reverse Unexecuted instantiation: frontend.c:conn_is_reverse Unexecuted instantiation: haproxy.c:conn_is_reverse Unexecuted instantiation: http_ana.c:conn_is_reverse Unexecuted instantiation: http_ext.c:conn_is_reverse Unexecuted instantiation: http_htx.c:conn_is_reverse Unexecuted instantiation: http_rules.c:conn_is_reverse Unexecuted instantiation: limits.c:conn_is_reverse Unexecuted instantiation: listener.c:conn_is_reverse Unexecuted instantiation: log.c:conn_is_reverse Unexecuted instantiation: mworker.c:conn_is_reverse Unexecuted instantiation: peers.c:conn_is_reverse Unexecuted instantiation: pool.c:conn_is_reverse Unexecuted instantiation: proto_rhttp.c:conn_is_reverse Unexecuted instantiation: proto_sockpair.c:conn_is_reverse Unexecuted instantiation: proxy.c:conn_is_reverse Unexecuted instantiation: queue.c:conn_is_reverse Unexecuted instantiation: resolvers.c:conn_is_reverse Unexecuted instantiation: ring.c:conn_is_reverse Unexecuted instantiation: sample.c:conn_is_reverse Unexecuted instantiation: server.c:conn_is_reverse Unexecuted instantiation: session.c:conn_is_reverse Unexecuted instantiation: sink.c:conn_is_reverse Unexecuted instantiation: sock.c:conn_is_reverse Unexecuted instantiation: stats-html.c:conn_is_reverse Unexecuted instantiation: stats.c:conn_is_reverse Unexecuted instantiation: stconn.c:conn_is_reverse Unexecuted instantiation: stick_table.c:conn_is_reverse Unexecuted instantiation: stream.c:conn_is_reverse Unexecuted instantiation: tcp_rules.c:conn_is_reverse Unexecuted instantiation: tcpcheck.c:conn_is_reverse Unexecuted instantiation: thread.c:conn_is_reverse Unexecuted instantiation: tools.c:conn_is_reverse Unexecuted instantiation: trace.c:conn_is_reverse Unexecuted instantiation: vars.c:conn_is_reverse Unexecuted instantiation: activity.c:conn_is_reverse Unexecuted instantiation: applet.c:conn_is_reverse Unexecuted instantiation: backend.c:conn_is_reverse Unexecuted instantiation: cache.c:conn_is_reverse Unexecuted instantiation: cfgparse-global.c:conn_is_reverse Unexecuted instantiation: cfgparse-listen.c:conn_is_reverse Unexecuted instantiation: channel.c:conn_is_reverse Unexecuted instantiation: check.c:conn_is_reverse Unexecuted instantiation: compression.c:conn_is_reverse Unexecuted instantiation: dns.c:conn_is_reverse Unexecuted instantiation: dns_ring.c:conn_is_reverse Unexecuted instantiation: fcgi-app.c:conn_is_reverse Unexecuted instantiation: http_fetch.c:conn_is_reverse Unexecuted instantiation: mux_spop.c:conn_is_reverse Unexecuted instantiation: pattern.c:conn_is_reverse Unexecuted instantiation: payload.c:conn_is_reverse Unexecuted instantiation: proto_tcp.c:conn_is_reverse Unexecuted instantiation: stats-json.c:conn_is_reverse Unexecuted instantiation: stats-proxy.c:conn_is_reverse Unexecuted instantiation: flt_spoe.c:conn_is_reverse |
691 | | |
692 | | /* Returns true if connection must be actively reversed or waiting to be accepted. */ |
693 | | static inline int conn_reverse_in_preconnect(const struct connection *conn) |
694 | 0 | { |
695 | 0 | return conn_is_back(conn) ? !!(conn->reverse.target) : |
696 | 0 | !!(conn->flags & CO_FL_ACT_REVERSING); |
697 | 0 | } Unexecuted instantiation: cfgparse.c:conn_reverse_in_preconnect Unexecuted instantiation: cli.c:conn_reverse_in_preconnect Unexecuted instantiation: connection.c:conn_reverse_in_preconnect Unexecuted instantiation: debug.c:conn_reverse_in_preconnect Unexecuted instantiation: errors.c:conn_reverse_in_preconnect Unexecuted instantiation: fd.c:conn_reverse_in_preconnect Unexecuted instantiation: filters.c:conn_reverse_in_preconnect Unexecuted instantiation: flt_http_comp.c:conn_reverse_in_preconnect Unexecuted instantiation: frontend.c:conn_reverse_in_preconnect Unexecuted instantiation: haproxy.c:conn_reverse_in_preconnect Unexecuted instantiation: http_ana.c:conn_reverse_in_preconnect Unexecuted instantiation: http_ext.c:conn_reverse_in_preconnect Unexecuted instantiation: http_htx.c:conn_reverse_in_preconnect Unexecuted instantiation: http_rules.c:conn_reverse_in_preconnect Unexecuted instantiation: limits.c:conn_reverse_in_preconnect Unexecuted instantiation: listener.c:conn_reverse_in_preconnect Unexecuted instantiation: log.c:conn_reverse_in_preconnect Unexecuted instantiation: mworker.c:conn_reverse_in_preconnect Unexecuted instantiation: peers.c:conn_reverse_in_preconnect Unexecuted instantiation: pool.c:conn_reverse_in_preconnect Unexecuted instantiation: proto_rhttp.c:conn_reverse_in_preconnect Unexecuted instantiation: proto_sockpair.c:conn_reverse_in_preconnect Unexecuted instantiation: proxy.c:conn_reverse_in_preconnect Unexecuted instantiation: queue.c:conn_reverse_in_preconnect Unexecuted instantiation: resolvers.c:conn_reverse_in_preconnect Unexecuted instantiation: ring.c:conn_reverse_in_preconnect Unexecuted instantiation: sample.c:conn_reverse_in_preconnect Unexecuted instantiation: server.c:conn_reverse_in_preconnect Unexecuted instantiation: session.c:conn_reverse_in_preconnect Unexecuted instantiation: sink.c:conn_reverse_in_preconnect Unexecuted instantiation: sock.c:conn_reverse_in_preconnect Unexecuted instantiation: stats-html.c:conn_reverse_in_preconnect Unexecuted instantiation: stats.c:conn_reverse_in_preconnect Unexecuted instantiation: stconn.c:conn_reverse_in_preconnect Unexecuted instantiation: stick_table.c:conn_reverse_in_preconnect Unexecuted instantiation: stream.c:conn_reverse_in_preconnect Unexecuted instantiation: tcp_rules.c:conn_reverse_in_preconnect Unexecuted instantiation: tcpcheck.c:conn_reverse_in_preconnect Unexecuted instantiation: thread.c:conn_reverse_in_preconnect Unexecuted instantiation: tools.c:conn_reverse_in_preconnect Unexecuted instantiation: trace.c:conn_reverse_in_preconnect Unexecuted instantiation: vars.c:conn_reverse_in_preconnect Unexecuted instantiation: activity.c:conn_reverse_in_preconnect Unexecuted instantiation: applet.c:conn_reverse_in_preconnect Unexecuted instantiation: backend.c:conn_reverse_in_preconnect Unexecuted instantiation: cache.c:conn_reverse_in_preconnect Unexecuted instantiation: cfgparse-global.c:conn_reverse_in_preconnect Unexecuted instantiation: cfgparse-listen.c:conn_reverse_in_preconnect Unexecuted instantiation: channel.c:conn_reverse_in_preconnect Unexecuted instantiation: check.c:conn_reverse_in_preconnect Unexecuted instantiation: compression.c:conn_reverse_in_preconnect Unexecuted instantiation: dns.c:conn_reverse_in_preconnect Unexecuted instantiation: dns_ring.c:conn_reverse_in_preconnect Unexecuted instantiation: fcgi-app.c:conn_reverse_in_preconnect Unexecuted instantiation: http_fetch.c:conn_reverse_in_preconnect Unexecuted instantiation: mux_spop.c:conn_reverse_in_preconnect Unexecuted instantiation: pattern.c:conn_reverse_in_preconnect Unexecuted instantiation: payload.c:conn_reverse_in_preconnect Unexecuted instantiation: proto_tcp.c:conn_reverse_in_preconnect Unexecuted instantiation: stats-json.c:conn_reverse_in_preconnect Unexecuted instantiation: stats-proxy.c:conn_reverse_in_preconnect Unexecuted instantiation: flt_spoe.c:conn_reverse_in_preconnect |
698 | | |
699 | | /* Initialize <conn> as a reverse connection to <target>. */ |
700 | | static inline void conn_set_reverse(struct connection *conn, enum obj_type *target) |
701 | 0 | { |
702 | | /* Ensure the correct target type is used depending on the connection side before reverse. */ |
703 | 0 | BUG_ON((!conn_is_back(conn) && !objt_server(target)) || |
704 | 0 | (conn_is_back(conn) && !objt_listener(target))); |
705 | |
|
706 | 0 | conn->reverse.target = target; |
707 | 0 | } Unexecuted instantiation: cfgparse.c:conn_set_reverse Unexecuted instantiation: cli.c:conn_set_reverse Unexecuted instantiation: connection.c:conn_set_reverse Unexecuted instantiation: debug.c:conn_set_reverse Unexecuted instantiation: errors.c:conn_set_reverse Unexecuted instantiation: fd.c:conn_set_reverse Unexecuted instantiation: filters.c:conn_set_reverse Unexecuted instantiation: flt_http_comp.c:conn_set_reverse Unexecuted instantiation: frontend.c:conn_set_reverse Unexecuted instantiation: haproxy.c:conn_set_reverse Unexecuted instantiation: http_ana.c:conn_set_reverse Unexecuted instantiation: http_ext.c:conn_set_reverse Unexecuted instantiation: http_htx.c:conn_set_reverse Unexecuted instantiation: http_rules.c:conn_set_reverse Unexecuted instantiation: limits.c:conn_set_reverse Unexecuted instantiation: listener.c:conn_set_reverse Unexecuted instantiation: log.c:conn_set_reverse Unexecuted instantiation: mworker.c:conn_set_reverse Unexecuted instantiation: peers.c:conn_set_reverse Unexecuted instantiation: pool.c:conn_set_reverse Unexecuted instantiation: proto_rhttp.c:conn_set_reverse Unexecuted instantiation: proto_sockpair.c:conn_set_reverse Unexecuted instantiation: proxy.c:conn_set_reverse Unexecuted instantiation: queue.c:conn_set_reverse Unexecuted instantiation: resolvers.c:conn_set_reverse Unexecuted instantiation: ring.c:conn_set_reverse Unexecuted instantiation: sample.c:conn_set_reverse Unexecuted instantiation: server.c:conn_set_reverse Unexecuted instantiation: session.c:conn_set_reverse Unexecuted instantiation: sink.c:conn_set_reverse Unexecuted instantiation: sock.c:conn_set_reverse Unexecuted instantiation: stats-html.c:conn_set_reverse Unexecuted instantiation: stats.c:conn_set_reverse Unexecuted instantiation: stconn.c:conn_set_reverse Unexecuted instantiation: stick_table.c:conn_set_reverse Unexecuted instantiation: stream.c:conn_set_reverse Unexecuted instantiation: tcp_rules.c:conn_set_reverse Unexecuted instantiation: tcpcheck.c:conn_set_reverse Unexecuted instantiation: thread.c:conn_set_reverse Unexecuted instantiation: tools.c:conn_set_reverse Unexecuted instantiation: trace.c:conn_set_reverse Unexecuted instantiation: vars.c:conn_set_reverse Unexecuted instantiation: activity.c:conn_set_reverse Unexecuted instantiation: applet.c:conn_set_reverse Unexecuted instantiation: backend.c:conn_set_reverse Unexecuted instantiation: cache.c:conn_set_reverse Unexecuted instantiation: cfgparse-global.c:conn_set_reverse Unexecuted instantiation: cfgparse-listen.c:conn_set_reverse Unexecuted instantiation: channel.c:conn_set_reverse Unexecuted instantiation: check.c:conn_set_reverse Unexecuted instantiation: compression.c:conn_set_reverse Unexecuted instantiation: dns.c:conn_set_reverse Unexecuted instantiation: dns_ring.c:conn_set_reverse Unexecuted instantiation: fcgi-app.c:conn_set_reverse Unexecuted instantiation: http_fetch.c:conn_set_reverse Unexecuted instantiation: mux_spop.c:conn_set_reverse Unexecuted instantiation: pattern.c:conn_set_reverse Unexecuted instantiation: payload.c:conn_set_reverse Unexecuted instantiation: proto_tcp.c:conn_set_reverse Unexecuted instantiation: stats-json.c:conn_set_reverse Unexecuted instantiation: stats-proxy.c:conn_set_reverse Unexecuted instantiation: flt_spoe.c:conn_set_reverse |
708 | | |
709 | | /* Returns idle-ping value for <conn> depending on its proxy side. */ |
710 | | static inline int conn_idle_ping(const struct connection *conn) |
711 | 0 | { |
712 | 0 | if (conn_is_back(conn)) { |
713 | 0 | struct server *srv = objt_server(conn->target); |
714 | 0 | return srv ? srv->idle_ping : TICK_ETERNITY; |
715 | 0 | } |
716 | 0 | else { |
717 | 0 | struct session *sess = conn->owner; |
718 | 0 | return sess->listener->bind_conf->idle_ping; |
719 | 0 | } |
720 | 0 | } Unexecuted instantiation: cfgparse.c:conn_idle_ping Unexecuted instantiation: cli.c:conn_idle_ping Unexecuted instantiation: connection.c:conn_idle_ping Unexecuted instantiation: debug.c:conn_idle_ping Unexecuted instantiation: errors.c:conn_idle_ping Unexecuted instantiation: fd.c:conn_idle_ping Unexecuted instantiation: filters.c:conn_idle_ping Unexecuted instantiation: flt_http_comp.c:conn_idle_ping Unexecuted instantiation: frontend.c:conn_idle_ping Unexecuted instantiation: haproxy.c:conn_idle_ping Unexecuted instantiation: http_ana.c:conn_idle_ping Unexecuted instantiation: http_ext.c:conn_idle_ping Unexecuted instantiation: http_htx.c:conn_idle_ping Unexecuted instantiation: http_rules.c:conn_idle_ping Unexecuted instantiation: limits.c:conn_idle_ping Unexecuted instantiation: listener.c:conn_idle_ping Unexecuted instantiation: log.c:conn_idle_ping Unexecuted instantiation: mworker.c:conn_idle_ping Unexecuted instantiation: peers.c:conn_idle_ping Unexecuted instantiation: pool.c:conn_idle_ping Unexecuted instantiation: proto_rhttp.c:conn_idle_ping Unexecuted instantiation: proto_sockpair.c:conn_idle_ping Unexecuted instantiation: proxy.c:conn_idle_ping Unexecuted instantiation: queue.c:conn_idle_ping Unexecuted instantiation: resolvers.c:conn_idle_ping Unexecuted instantiation: ring.c:conn_idle_ping Unexecuted instantiation: sample.c:conn_idle_ping Unexecuted instantiation: server.c:conn_idle_ping Unexecuted instantiation: session.c:conn_idle_ping Unexecuted instantiation: sink.c:conn_idle_ping Unexecuted instantiation: sock.c:conn_idle_ping Unexecuted instantiation: stats-html.c:conn_idle_ping Unexecuted instantiation: stats.c:conn_idle_ping Unexecuted instantiation: stconn.c:conn_idle_ping Unexecuted instantiation: stick_table.c:conn_idle_ping Unexecuted instantiation: stream.c:conn_idle_ping Unexecuted instantiation: tcp_rules.c:conn_idle_ping Unexecuted instantiation: tcpcheck.c:conn_idle_ping Unexecuted instantiation: thread.c:conn_idle_ping Unexecuted instantiation: tools.c:conn_idle_ping Unexecuted instantiation: trace.c:conn_idle_ping Unexecuted instantiation: vars.c:conn_idle_ping Unexecuted instantiation: activity.c:conn_idle_ping Unexecuted instantiation: applet.c:conn_idle_ping Unexecuted instantiation: backend.c:conn_idle_ping Unexecuted instantiation: cache.c:conn_idle_ping Unexecuted instantiation: cfgparse-global.c:conn_idle_ping Unexecuted instantiation: cfgparse-listen.c:conn_idle_ping Unexecuted instantiation: channel.c:conn_idle_ping Unexecuted instantiation: check.c:conn_idle_ping Unexecuted instantiation: compression.c:conn_idle_ping Unexecuted instantiation: dns.c:conn_idle_ping Unexecuted instantiation: dns_ring.c:conn_idle_ping Unexecuted instantiation: fcgi-app.c:conn_idle_ping Unexecuted instantiation: http_fetch.c:conn_idle_ping Unexecuted instantiation: mux_spop.c:conn_idle_ping Unexecuted instantiation: pattern.c:conn_idle_ping Unexecuted instantiation: payload.c:conn_idle_ping Unexecuted instantiation: proto_tcp.c:conn_idle_ping Unexecuted instantiation: stats-json.c:conn_idle_ping Unexecuted instantiation: stats-proxy.c:conn_idle_ping Unexecuted instantiation: flt_spoe.c:conn_idle_ping |
721 | | |
722 | | /* Returns the listener instance for connection used for active reverse. */ |
723 | | static inline struct listener *conn_active_reverse_listener(const struct connection *conn) |
724 | 0 | { |
725 | 0 | return conn_is_back(conn) ? __objt_listener(conn->reverse.target) : |
726 | 0 | __objt_listener(conn->target); |
727 | 0 | } Unexecuted instantiation: cfgparse.c:conn_active_reverse_listener Unexecuted instantiation: cli.c:conn_active_reverse_listener Unexecuted instantiation: connection.c:conn_active_reverse_listener Unexecuted instantiation: debug.c:conn_active_reverse_listener Unexecuted instantiation: errors.c:conn_active_reverse_listener Unexecuted instantiation: fd.c:conn_active_reverse_listener Unexecuted instantiation: filters.c:conn_active_reverse_listener Unexecuted instantiation: flt_http_comp.c:conn_active_reverse_listener Unexecuted instantiation: frontend.c:conn_active_reverse_listener Unexecuted instantiation: haproxy.c:conn_active_reverse_listener Unexecuted instantiation: http_ana.c:conn_active_reverse_listener Unexecuted instantiation: http_ext.c:conn_active_reverse_listener Unexecuted instantiation: http_htx.c:conn_active_reverse_listener Unexecuted instantiation: http_rules.c:conn_active_reverse_listener Unexecuted instantiation: limits.c:conn_active_reverse_listener Unexecuted instantiation: listener.c:conn_active_reverse_listener Unexecuted instantiation: log.c:conn_active_reverse_listener Unexecuted instantiation: mworker.c:conn_active_reverse_listener Unexecuted instantiation: peers.c:conn_active_reverse_listener Unexecuted instantiation: pool.c:conn_active_reverse_listener Unexecuted instantiation: proto_rhttp.c:conn_active_reverse_listener Unexecuted instantiation: proto_sockpair.c:conn_active_reverse_listener Unexecuted instantiation: proxy.c:conn_active_reverse_listener Unexecuted instantiation: queue.c:conn_active_reverse_listener Unexecuted instantiation: resolvers.c:conn_active_reverse_listener Unexecuted instantiation: ring.c:conn_active_reverse_listener Unexecuted instantiation: sample.c:conn_active_reverse_listener Unexecuted instantiation: server.c:conn_active_reverse_listener Unexecuted instantiation: session.c:conn_active_reverse_listener Unexecuted instantiation: sink.c:conn_active_reverse_listener Unexecuted instantiation: sock.c:conn_active_reverse_listener Unexecuted instantiation: stats-html.c:conn_active_reverse_listener Unexecuted instantiation: stats.c:conn_active_reverse_listener Unexecuted instantiation: stconn.c:conn_active_reverse_listener Unexecuted instantiation: stick_table.c:conn_active_reverse_listener Unexecuted instantiation: stream.c:conn_active_reverse_listener Unexecuted instantiation: tcp_rules.c:conn_active_reverse_listener Unexecuted instantiation: tcpcheck.c:conn_active_reverse_listener Unexecuted instantiation: thread.c:conn_active_reverse_listener Unexecuted instantiation: tools.c:conn_active_reverse_listener Unexecuted instantiation: trace.c:conn_active_reverse_listener Unexecuted instantiation: vars.c:conn_active_reverse_listener Unexecuted instantiation: activity.c:conn_active_reverse_listener Unexecuted instantiation: applet.c:conn_active_reverse_listener Unexecuted instantiation: backend.c:conn_active_reverse_listener Unexecuted instantiation: cache.c:conn_active_reverse_listener Unexecuted instantiation: cfgparse-global.c:conn_active_reverse_listener Unexecuted instantiation: cfgparse-listen.c:conn_active_reverse_listener Unexecuted instantiation: channel.c:conn_active_reverse_listener Unexecuted instantiation: check.c:conn_active_reverse_listener Unexecuted instantiation: compression.c:conn_active_reverse_listener Unexecuted instantiation: dns.c:conn_active_reverse_listener Unexecuted instantiation: dns_ring.c:conn_active_reverse_listener Unexecuted instantiation: fcgi-app.c:conn_active_reverse_listener Unexecuted instantiation: http_fetch.c:conn_active_reverse_listener Unexecuted instantiation: mux_spop.c:conn_active_reverse_listener Unexecuted instantiation: pattern.c:conn_active_reverse_listener Unexecuted instantiation: payload.c:conn_active_reverse_listener Unexecuted instantiation: proto_tcp.c:conn_active_reverse_listener Unexecuted instantiation: stats-json.c:conn_active_reverse_listener Unexecuted instantiation: stats-proxy.c:conn_active_reverse_listener Unexecuted instantiation: flt_spoe.c:conn_active_reverse_listener |
728 | | |
729 | | /* |
730 | | * Prepare TLV argument for redirecting fetches. |
731 | | * Note that it is not possible to use an argument check function |
732 | | * as that would require us to allow arguments for functions |
733 | | * that do not need it. Alternatively, the sample logic could be |
734 | | * adjusted to perform checks for no arguments and allocate |
735 | | * in the check function. However, this does not seem worth the trouble. |
736 | | */ |
737 | | static inline void set_tlv_arg(int tlv_type, struct arg *tlv_arg) |
738 | 0 | { |
739 | 0 | tlv_arg->type = ARGT_SINT; |
740 | 0 | tlv_arg->data.sint = tlv_type; |
741 | 0 | } Unexecuted instantiation: cfgparse.c:set_tlv_arg Unexecuted instantiation: cli.c:set_tlv_arg Unexecuted instantiation: connection.c:set_tlv_arg Unexecuted instantiation: debug.c:set_tlv_arg Unexecuted instantiation: errors.c:set_tlv_arg Unexecuted instantiation: fd.c:set_tlv_arg Unexecuted instantiation: filters.c:set_tlv_arg Unexecuted instantiation: flt_http_comp.c:set_tlv_arg Unexecuted instantiation: frontend.c:set_tlv_arg Unexecuted instantiation: haproxy.c:set_tlv_arg Unexecuted instantiation: http_ana.c:set_tlv_arg Unexecuted instantiation: http_ext.c:set_tlv_arg Unexecuted instantiation: http_htx.c:set_tlv_arg Unexecuted instantiation: http_rules.c:set_tlv_arg Unexecuted instantiation: limits.c:set_tlv_arg Unexecuted instantiation: listener.c:set_tlv_arg Unexecuted instantiation: log.c:set_tlv_arg Unexecuted instantiation: mworker.c:set_tlv_arg Unexecuted instantiation: peers.c:set_tlv_arg Unexecuted instantiation: pool.c:set_tlv_arg Unexecuted instantiation: proto_rhttp.c:set_tlv_arg Unexecuted instantiation: proto_sockpair.c:set_tlv_arg Unexecuted instantiation: proxy.c:set_tlv_arg Unexecuted instantiation: queue.c:set_tlv_arg Unexecuted instantiation: resolvers.c:set_tlv_arg Unexecuted instantiation: ring.c:set_tlv_arg Unexecuted instantiation: sample.c:set_tlv_arg Unexecuted instantiation: server.c:set_tlv_arg Unexecuted instantiation: session.c:set_tlv_arg Unexecuted instantiation: sink.c:set_tlv_arg Unexecuted instantiation: sock.c:set_tlv_arg Unexecuted instantiation: stats-html.c:set_tlv_arg Unexecuted instantiation: stats.c:set_tlv_arg Unexecuted instantiation: stconn.c:set_tlv_arg Unexecuted instantiation: stick_table.c:set_tlv_arg Unexecuted instantiation: stream.c:set_tlv_arg Unexecuted instantiation: tcp_rules.c:set_tlv_arg Unexecuted instantiation: tcpcheck.c:set_tlv_arg Unexecuted instantiation: thread.c:set_tlv_arg Unexecuted instantiation: tools.c:set_tlv_arg Unexecuted instantiation: trace.c:set_tlv_arg Unexecuted instantiation: vars.c:set_tlv_arg Unexecuted instantiation: activity.c:set_tlv_arg Unexecuted instantiation: applet.c:set_tlv_arg Unexecuted instantiation: backend.c:set_tlv_arg Unexecuted instantiation: cache.c:set_tlv_arg Unexecuted instantiation: cfgparse-global.c:set_tlv_arg Unexecuted instantiation: cfgparse-listen.c:set_tlv_arg Unexecuted instantiation: channel.c:set_tlv_arg Unexecuted instantiation: check.c:set_tlv_arg Unexecuted instantiation: compression.c:set_tlv_arg Unexecuted instantiation: dns.c:set_tlv_arg Unexecuted instantiation: dns_ring.c:set_tlv_arg Unexecuted instantiation: fcgi-app.c:set_tlv_arg Unexecuted instantiation: http_fetch.c:set_tlv_arg Unexecuted instantiation: mux_spop.c:set_tlv_arg Unexecuted instantiation: pattern.c:set_tlv_arg Unexecuted instantiation: payload.c:set_tlv_arg Unexecuted instantiation: proto_tcp.c:set_tlv_arg Unexecuted instantiation: stats-json.c:set_tlv_arg Unexecuted instantiation: stats-proxy.c:set_tlv_arg Unexecuted instantiation: flt_spoe.c:set_tlv_arg |
742 | | |
743 | | /* |
744 | | * Map proxy mode (PR_MODE_*) to equivalent proto_proxy_mode (PROTO_MODE_*) |
745 | | */ |
746 | | static inline int conn_pr_mode_to_proto_mode(int proxy_mode) |
747 | 0 | { |
748 | 0 | int mode; |
749 | |
|
750 | 0 | mode = ((proxy_mode == PR_MODE_HTTP) ? PROTO_MODE_HTTP : |
751 | 0 | (proxy_mode == PR_MODE_SPOP) ? PROTO_MODE_SPOP : |
752 | 0 | PROTO_MODE_TCP); |
753 | |
|
754 | 0 | return mode; |
755 | 0 | } Unexecuted instantiation: cfgparse.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: cli.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: connection.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: debug.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: errors.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: fd.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: filters.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: flt_http_comp.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: frontend.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: haproxy.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: http_ana.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: http_ext.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: http_htx.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: http_rules.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: limits.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: listener.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: log.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: mworker.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: peers.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: pool.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: proto_rhttp.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: proto_sockpair.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: proxy.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: queue.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: resolvers.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: ring.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: sample.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: server.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: session.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: sink.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: sock.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stats-html.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stats.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stconn.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stick_table.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stream.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: tcp_rules.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: tcpcheck.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: thread.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: tools.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: trace.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: vars.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: activity.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: applet.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: backend.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: cache.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: cfgparse-global.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: cfgparse-listen.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: channel.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: check.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: compression.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: dns.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: dns_ring.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: fcgi-app.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: http_fetch.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: mux_spop.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: pattern.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: payload.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: proto_tcp.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stats-json.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: stats-proxy.c:conn_pr_mode_to_proto_mode Unexecuted instantiation: flt_spoe.c:conn_pr_mode_to_proto_mode |
756 | | |
757 | | /* Must be used to report add an event in <_evt> termination events log. |
758 | | * For now, it only handles 32-bits integers. |
759 | | */ |
760 | 0 | #define tevt_report_event(_evts, loc, type) ({ \ |
761 | 0 | \ |
762 | 0 | unsigned int _evt = ((loc) << 4) | (type); \ |
763 | 0 | \ |
764 | 0 | if (!((_evts) & 0xff000000) && \ |
765 | 0 | (unsigned char)_evt != (unsigned char)(_evts)) { \ |
766 | 0 | (_evts) <<= 8; \ |
767 | 0 | (_evts) |= (loc) << 4; \ |
768 | 0 | (_evts) |= (type); \ |
769 | 0 | } \ |
770 | 0 | (_evts); \ |
771 | 0 | }) |
772 | | |
773 | | /* Function to convert a termination events log to a string */ |
774 | | static THREAD_LOCAL char tevt_evts_str[9]; |
775 | | static inline const char *tevt_evts2str(uint32_t evts) |
776 | 0 | { |
777 | 0 | uint32_t evt_msk = 0xff000000; |
778 | 0 | unsigned int evt_bits = 24; |
779 | 0 | int idx = 0; |
780 | | |
781 | | /* no events: do nothing */ |
782 | 0 | if (!evts) |
783 | 0 | goto end; |
784 | | |
785 | | /* -1 means the feature is not supported for the location or the entity does not exist. print a dash */ |
786 | 0 | if (evts == UINT_MAX) { |
787 | 0 | tevt_evts_str[idx++] = '-'; |
788 | 0 | goto end; |
789 | 0 | } |
790 | | |
791 | 0 | for (; evt_msk; evt_msk >>= 8, evt_bits -= 8) { |
792 | 0 | unsigned char evt = (evts & evt_msk) >> evt_bits; |
793 | 0 | unsigned int is_back; |
794 | |
|
795 | 0 | if (!evt) |
796 | 0 | continue; |
797 | | |
798 | | /* Backend location are displayed in capital letter */ |
799 | 0 | is_back = !!((evt >> 4) & 0x8); |
800 | 0 | switch ((enum term_event_loc)((evt >> 4) & ~0x8)) { |
801 | 0 | case tevt_loc_fd: tevt_evts_str[idx++] = (is_back ? 'F' : 'f'); break; |
802 | 0 | case tevt_loc_hs: tevt_evts_str[idx++] = (is_back ? 'H' : 'h'); break; |
803 | 0 | case tevt_loc_xprt: tevt_evts_str[idx++] = (is_back ? 'X' : 'x'); break; |
804 | 0 | case tevt_loc_muxc: tevt_evts_str[idx++] = (is_back ? 'M' : 'm'); break; |
805 | 0 | case tevt_loc_se: tevt_evts_str[idx++] = (is_back ? 'E' : 'e'); break; |
806 | 0 | case tevt_loc_strm: tevt_evts_str[idx++] = (is_back ? 'S' : 's'); break; |
807 | 0 | default: tevt_evts_str[idx++] = '-'; |
808 | 0 | } |
809 | | |
810 | 0 | tevt_evts_str[idx++] = hextab[evt & 0xf]; |
811 | 0 | } |
812 | 0 | end: |
813 | 0 | tevt_evts_str[idx] = '\0'; |
814 | 0 | return tevt_evts_str; |
815 | 0 | } Unexecuted instantiation: cfgparse.c:tevt_evts2str Unexecuted instantiation: cli.c:tevt_evts2str Unexecuted instantiation: connection.c:tevt_evts2str Unexecuted instantiation: debug.c:tevt_evts2str Unexecuted instantiation: errors.c:tevt_evts2str Unexecuted instantiation: fd.c:tevt_evts2str Unexecuted instantiation: filters.c:tevt_evts2str Unexecuted instantiation: flt_http_comp.c:tevt_evts2str Unexecuted instantiation: frontend.c:tevt_evts2str Unexecuted instantiation: haproxy.c:tevt_evts2str Unexecuted instantiation: http_ana.c:tevt_evts2str Unexecuted instantiation: http_ext.c:tevt_evts2str Unexecuted instantiation: http_htx.c:tevt_evts2str Unexecuted instantiation: http_rules.c:tevt_evts2str Unexecuted instantiation: limits.c:tevt_evts2str Unexecuted instantiation: listener.c:tevt_evts2str Unexecuted instantiation: log.c:tevt_evts2str Unexecuted instantiation: mworker.c:tevt_evts2str Unexecuted instantiation: peers.c:tevt_evts2str Unexecuted instantiation: pool.c:tevt_evts2str Unexecuted instantiation: proto_rhttp.c:tevt_evts2str Unexecuted instantiation: proto_sockpair.c:tevt_evts2str Unexecuted instantiation: proxy.c:tevt_evts2str Unexecuted instantiation: queue.c:tevt_evts2str Unexecuted instantiation: resolvers.c:tevt_evts2str Unexecuted instantiation: ring.c:tevt_evts2str Unexecuted instantiation: sample.c:tevt_evts2str Unexecuted instantiation: server.c:tevt_evts2str Unexecuted instantiation: session.c:tevt_evts2str Unexecuted instantiation: sink.c:tevt_evts2str Unexecuted instantiation: sock.c:tevt_evts2str Unexecuted instantiation: stats-html.c:tevt_evts2str Unexecuted instantiation: stats.c:tevt_evts2str Unexecuted instantiation: stconn.c:tevt_evts2str Unexecuted instantiation: stick_table.c:tevt_evts2str Unexecuted instantiation: stream.c:tevt_evts2str Unexecuted instantiation: tcp_rules.c:tevt_evts2str Unexecuted instantiation: tcpcheck.c:tevt_evts2str Unexecuted instantiation: thread.c:tevt_evts2str Unexecuted instantiation: tools.c:tevt_evts2str Unexecuted instantiation: trace.c:tevt_evts2str Unexecuted instantiation: vars.c:tevt_evts2str Unexecuted instantiation: activity.c:tevt_evts2str Unexecuted instantiation: applet.c:tevt_evts2str Unexecuted instantiation: backend.c:tevt_evts2str Unexecuted instantiation: cache.c:tevt_evts2str Unexecuted instantiation: cfgparse-global.c:tevt_evts2str Unexecuted instantiation: cfgparse-listen.c:tevt_evts2str Unexecuted instantiation: channel.c:tevt_evts2str Unexecuted instantiation: check.c:tevt_evts2str Unexecuted instantiation: compression.c:tevt_evts2str Unexecuted instantiation: dns.c:tevt_evts2str Unexecuted instantiation: dns_ring.c:tevt_evts2str Unexecuted instantiation: fcgi-app.c:tevt_evts2str Unexecuted instantiation: http_fetch.c:tevt_evts2str Unexecuted instantiation: mux_spop.c:tevt_evts2str Unexecuted instantiation: pattern.c:tevt_evts2str Unexecuted instantiation: payload.c:tevt_evts2str Unexecuted instantiation: proto_tcp.c:tevt_evts2str Unexecuted instantiation: stats-json.c:tevt_evts2str Unexecuted instantiation: stats-proxy.c:tevt_evts2str Unexecuted instantiation: flt_spoe.c:tevt_evts2str |
816 | | |
817 | | /* Report a connection event. <loc> may be "tevt_loc_fd", "tevt_loc_hs" or "tevt_loc_xprt" */ |
818 | | static inline void conn_report_term_evt(struct connection *conn, enum term_event_loc loc, unsigned char type) |
819 | 0 | { |
820 | 0 | if (conn_is_back(conn)) |
821 | 0 | loc |= 0x08; |
822 | 0 | conn->term_evts_log = tevt_report_event(conn->term_evts_log, loc, type); |
823 | 0 | } Unexecuted instantiation: cfgparse.c:conn_report_term_evt Unexecuted instantiation: cli.c:conn_report_term_evt Unexecuted instantiation: connection.c:conn_report_term_evt Unexecuted instantiation: debug.c:conn_report_term_evt Unexecuted instantiation: errors.c:conn_report_term_evt Unexecuted instantiation: fd.c:conn_report_term_evt Unexecuted instantiation: filters.c:conn_report_term_evt Unexecuted instantiation: flt_http_comp.c:conn_report_term_evt Unexecuted instantiation: frontend.c:conn_report_term_evt Unexecuted instantiation: haproxy.c:conn_report_term_evt Unexecuted instantiation: http_ana.c:conn_report_term_evt Unexecuted instantiation: http_ext.c:conn_report_term_evt Unexecuted instantiation: http_htx.c:conn_report_term_evt Unexecuted instantiation: http_rules.c:conn_report_term_evt Unexecuted instantiation: limits.c:conn_report_term_evt Unexecuted instantiation: listener.c:conn_report_term_evt Unexecuted instantiation: log.c:conn_report_term_evt Unexecuted instantiation: mworker.c:conn_report_term_evt Unexecuted instantiation: peers.c:conn_report_term_evt Unexecuted instantiation: pool.c:conn_report_term_evt Unexecuted instantiation: proto_rhttp.c:conn_report_term_evt Unexecuted instantiation: proto_sockpair.c:conn_report_term_evt Unexecuted instantiation: proxy.c:conn_report_term_evt Unexecuted instantiation: queue.c:conn_report_term_evt Unexecuted instantiation: resolvers.c:conn_report_term_evt Unexecuted instantiation: ring.c:conn_report_term_evt Unexecuted instantiation: sample.c:conn_report_term_evt Unexecuted instantiation: server.c:conn_report_term_evt Unexecuted instantiation: session.c:conn_report_term_evt Unexecuted instantiation: sink.c:conn_report_term_evt Unexecuted instantiation: sock.c:conn_report_term_evt Unexecuted instantiation: stats-html.c:conn_report_term_evt Unexecuted instantiation: stats.c:conn_report_term_evt Unexecuted instantiation: stconn.c:conn_report_term_evt Unexecuted instantiation: stick_table.c:conn_report_term_evt Unexecuted instantiation: stream.c:conn_report_term_evt Unexecuted instantiation: tcp_rules.c:conn_report_term_evt Unexecuted instantiation: tcpcheck.c:conn_report_term_evt Unexecuted instantiation: thread.c:conn_report_term_evt Unexecuted instantiation: tools.c:conn_report_term_evt Unexecuted instantiation: trace.c:conn_report_term_evt Unexecuted instantiation: vars.c:conn_report_term_evt Unexecuted instantiation: activity.c:conn_report_term_evt Unexecuted instantiation: applet.c:conn_report_term_evt Unexecuted instantiation: backend.c:conn_report_term_evt Unexecuted instantiation: cache.c:conn_report_term_evt Unexecuted instantiation: cfgparse-global.c:conn_report_term_evt Unexecuted instantiation: cfgparse-listen.c:conn_report_term_evt Unexecuted instantiation: channel.c:conn_report_term_evt Unexecuted instantiation: check.c:conn_report_term_evt Unexecuted instantiation: compression.c:conn_report_term_evt Unexecuted instantiation: dns.c:conn_report_term_evt Unexecuted instantiation: dns_ring.c:conn_report_term_evt Unexecuted instantiation: fcgi-app.c:conn_report_term_evt Unexecuted instantiation: http_fetch.c:conn_report_term_evt Unexecuted instantiation: mux_spop.c:conn_report_term_evt Unexecuted instantiation: pattern.c:conn_report_term_evt Unexecuted instantiation: payload.c:conn_report_term_evt Unexecuted instantiation: proto_tcp.c:conn_report_term_evt Unexecuted instantiation: stats-json.c:conn_report_term_evt Unexecuted instantiation: stats-proxy.c:conn_report_term_evt Unexecuted instantiation: flt_spoe.c:conn_report_term_evt |
824 | | |
825 | | #endif /* _HAPROXY_CONNECTION_H */ |
826 | | |
827 | | /* |
828 | | * Local variables: |
829 | | * c-indent-level: 8 |
830 | | * c-basic-offset: 8 |
831 | | * End: |
832 | | */ |