#include <haproxy/listener-t.h>
#include <haproxy/obj_type.h>
#include <haproxy/pool.h>
+#include <haproxy/session.h>
#include <haproxy/task-t.h>
-#include <proto/session.h>
extern struct pool_head *pool_head_connection;
extern struct pool_head *pool_head_connstream;
/*
- * include/types/session.h
+ * include/haproxy/session-t.h
* This file defines everything related to sessions.
*
- * Copyright (C) 2000-2015 Willy Tarreau - w@1wt.eu
+ * Copyright (C) 2000-2020 Willy Tarreau - w@1wt.eu
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef _TYPES_SESSION_H
-#define _TYPES_SESSION_H
+#ifndef _HAPROXY_SESSION_T_H
+#define _HAPROXY_SESSION_T_H
#include <sys/time.h>
#include <haproxy/api-t.h>
#include <haproxy/list-t.h>
#include <haproxy/obj_type-t.h>
-#include <haproxy/vars-t.h>
-
#include <haproxy/stick_table-t.h>
#include <haproxy/task-t.h>
+#include <haproxy/vars-t.h>
-struct sess_srv_list {
- void *target;
- struct list conn_list; /* Head of the connections list */
- struct list srv_list; /* Next element of the server list */
-};
-
-#define MAX_SRV_LIST 5
/* session flags */
enum {
SESS_FL_PREFER_LAST = 0x00000001, /* NTML authent, we should reuse last conn */
};
-struct proxy;
+/* max number of idle server connections kept attached to a session */
+#define MAX_SRV_LIST 5
+
struct session {
struct proxy *fe; /* the proxy this session depends on for the client side */
struct listener *listener; /* the listener by which the request arrived */
unsigned int flags; /* session flags, SESS_FL_* */
};
-#endif /* _TYPES_SESSION_H */
+struct sess_srv_list {
+ void *target;
+ struct list conn_list; /* Head of the connections list */
+ struct list srv_list; /* Next element of the server list */
+};
+
+#endif /* _HAPROXY_SESSION_T_H */
/*
* Local variables:
/*
- * include/proto/session.h
- * This file defines everything related to sessions.
+ * include/haproxy/session.h
+ * This file contains functions used to manage sessions.
*
- * Copyright (C) 2000-2015 Willy Tarreau - w@1wt.eu
+ * Copyright (C) 2000-2020 Willy Tarreau - w@1wt.eu
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef _PROTO_SESSION_H
-#define _PROTO_SESSION_H
+#ifndef _HAPROXY_SESSION_H
+#define _HAPROXY_SESSION_H
#include <haproxy/api.h>
-#include <haproxy/obj_type.h>
-#include <haproxy/pool.h>
-
#include <haproxy/global-t.h>
-#include <types/session.h>
-
+#include <haproxy/obj_type-t.h>
+#include <haproxy/pool.h>
+#include <haproxy/session-t.h>
#include <haproxy/stick_table.h>
#include <proto/server.h>
return 0;
}
-#endif /* _PROTO_SESSION_H */
+#endif /* _HAPROXY_SESSION_H */
/*
* Local variables:
#include <haproxy/action-t.h>
#include <haproxy/api.h>
+#include <haproxy/session-t.h>
#include <types/stream.h>
-#include <types/session.h>
int tcp_inspect_request(struct stream *s, struct channel *req, int an_bit);
int tcp_inspect_response(struct stream *s, struct channel *rep, int an_bit);
#ifndef _HAPROXY_VARS_H
#define _HAPROXY_VARS_H
-#include <types/session.h>
#include <types/stream.h>
+#include <haproxy/session-t.h>
#include <haproxy/api-t.h>
#include <haproxy/vars-t.h>
#include <haproxy/hlua-t.h>
#include <haproxy/list-t.h>
#include <haproxy/obj_type-t.h>
+#include <haproxy/session-t.h>
#include <haproxy/vars-t.h>
#include <types/channel.h>
#include <types/proxy.h>
#include <types/queue.h>
#include <types/server.h>
-#include <types/session.h>
#include <types/stream_interface.h>
#include <haproxy/task-t.h>
#include <haproxy/stick_table-t.h>
#include <haproxy/lb_fwrr.h>
#include <haproxy/obj_type.h>
#include <haproxy/payload.h>
+#include <haproxy/session.h>
#include <haproxy/task.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <proto/queue.h>
#include <haproxy/sample.h>
#include <proto/server.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <proto/ssl_sock.h>
#include <haproxy/obj_type-t.h>
#include <haproxy/peers-t.h>
#include <haproxy/pool.h>
+#include <haproxy/session.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
#include <common/uri_auth.h>
#include <proto/proxy.h>
#include <haproxy/peers.h>
#include <haproxy/sample.h>
-#include <proto/session.h>
#include <proto/server.h>
#include <proto/stream.h>
#include <haproxy/stick_table.h>
#include <haproxy/pattern-t.h>
#include <haproxy/peers.h>
#include <haproxy/sample-t.h>
+#include <haproxy/session.h>
#include <haproxy/task.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <haproxy/pipe.h>
#include <haproxy/protocol.h>
#include <proto/proxy.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <proto/server.h>
#include <proto/stream_interface.h>
#include <haproxy/http_htx.h>
#include <haproxy/regex.h>
#include <haproxy/sample.h>
+#include <haproxy/session.h>
#include <haproxy/tools.h>
#include <haproxy/global.h>
#include <proto/log.h>
#include <proto/proxy.h>
#include <proto/server.h>
-#include <proto/session.h>
/* Global list of all FCGI applications */
static struct fcgi_app *fcgi_apps = NULL;
#include <haproxy/signal.h>
#include <haproxy/thread.h>
#include <haproxy/pool.h>
+#include <haproxy/session.h>
#include <haproxy/task.h>
#include <haproxy/tcp_rules.h>
#include <haproxy/time.h>
#include <proto/log.h>
#include <proto/http_ana.h>
#include <proto/proxy.h>
-#include <proto/session.h>
#include <proto/spoe.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <haproxy/peers.h>
#include <haproxy/sample.h>
#include <haproxy/regex.h>
+#include <haproxy/session.h>
#include <haproxy/signal.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
#include <proto/proxy.h>
#include <proto/queue.h>
#include <proto/server.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <proto/ssl_sock.h>
#include <haproxy/pattern.h>
#include <haproxy/payload.h>
#include <haproxy/sample.h>
+#include <haproxy/session.h>
#include <haproxy/task.h>
#include <haproxy/tcp_rules.h>
#include <haproxy/tools.h>
#include <proto/queue.h>
#include <proto/http_ana.h>
#include <proto/server.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <haproxy/list.h>
#include <haproxy/net_helper.h>
#include <haproxy/regex.h>
+#include <haproxy/session-t.h>
#include <types/proxy.h>
-#include <types/session.h>
#include <proto/fcgi-app.h>
#include <proto/log.h>
-#include <proto/session.h>
#include <proto/ssl_sock.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <haproxy/pipe-t.h>
#include <types/proxy.h>
-#include <types/session.h>
#include <haproxy/http_htx.h>
#include <proto/log.h>
-#include <proto/session.h>
+#include <haproxy/session-t.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <proto/trace.h>
#include <haproxy/http_htx.h>
#include <haproxy/htx.h>
#include <haproxy/net_helper.h>
+#include <haproxy/session-t.h>
#include <proto/trace.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
-#include <types/session.h>
#include <import/eb32tree.h>
#include <haproxy/obj_type-t.h>
#include <haproxy/peers.h>
#include <haproxy/task.h>
+#include <haproxy/session-t.h>
#include <haproxy/signal.h>
#include <haproxy/time.h>
#include <haproxy/tools.h>
#include <haproxy/fd.h>
#include <proto/log.h>
#include <proto/proxy.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <haproxy/stick_table.h>
#include <proto/stream_interface.h>
#include <haproxy/http.h>
#include <haproxy/listener.h>
#include <haproxy/pool.h>
+#include <haproxy/session.h>
#include <haproxy/tcp_rules.h>
#include <haproxy/vars.h>
-#include <types/session.h>
-
#include <proto/log.h>
#include <proto/proxy.h>
-#include <proto/session.h>
#include <proto/stream.h>
DECLARE_POOL(pool_head_session, "session", sizeof(struct session));
#include <haproxy/listener.h>
#include <haproxy/map-t.h>
#include <haproxy/pattern-t.h>
+#include <haproxy/session.h>
#include <haproxy/task.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <proto/log.h>
#include <haproxy/pipe.h>
#include <proto/proxy.h>
-#include <proto/session.h>
#include <proto/ssl_sock.h>
#include <proto/stream.h>
#include <proto/server.h>
#include <haproxy/thread.h>
#include <haproxy/htx.h>
#include <haproxy/pool.h>
+#include <haproxy/session.h>
#include <haproxy/task.h>
#include <haproxy/tcp_rules.h>
#include <haproxy/vars.h>
#include <proto/filters.h>
#include <haproxy/freq_ctr.h>
#include <proto/log.h>
-#include <proto/session.h>
#include <proto/stream.h>
#include <haproxy/pipe.h>
#include <proto/http_ana.h>