summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/haproxy/cli-t.h1
-rw-r--r--include/haproxy/compat.h6
-rw-r--r--include/haproxy/connection-t.h1
-rw-r--r--include/haproxy/hlua-t.h1
-rw-r--r--include/haproxy/hlua.h3
-rw-r--r--include/haproxy/quic_tls-t.h2
-rw-r--r--include/haproxy/session.h6
-rw-r--r--include/haproxy/stream-t.h2
-rw-r--r--include/import/ist.h11
9 files changed, 23 insertions, 10 deletions
diff --git a/include/haproxy/cli-t.h b/include/haproxy/cli-t.h
index c155df3..cad6728 100644
--- a/include/haproxy/cli-t.h
+++ b/include/haproxy/cli-t.h
@@ -45,6 +45,7 @@
#define APPCTX_CLI_ST1_PAYLOAD (1 << 1)
#define APPCTX_CLI_ST1_NOLF (1 << 2)
#define APPCTX_CLI_ST1_TIMED (1 << 3)
+#define APPCTX_CLI_ST1_SHUT_EXPECTED (1 << 4)
#define CLI_PREFIX_KW_NB 5
#define CLI_MAX_MATCHES 5
diff --git a/include/haproxy/compat.h b/include/haproxy/compat.h
index aa4f952..0fe5a0b 100644
--- a/include/haproxy/compat.h
+++ b/include/haproxy/compat.h
@@ -303,6 +303,12 @@ typedef struct { } empty_t;
#define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC_FAST
#endif
+/* On Solaris, `queue` is a reserved name, so we redefine it here for now.
+ */
+#if defined(sun)
+#define queue _queue
+#endif
+
#endif /* _HAPROXY_COMPAT_H */
/*
diff --git a/include/haproxy/connection-t.h b/include/haproxy/connection-t.h
index 2619fd6..71269c6 100644
--- a/include/haproxy/connection-t.h
+++ b/include/haproxy/connection-t.h
@@ -337,6 +337,7 @@ enum mux_ctl_type {
MUX_CTL_EXIT_STATUS, /* Expects an int as output, sets the mux exist/error/http status, if known or 0 */
MUX_CTL_REVERSE_CONN, /* Notify about an active reverse connection accepted. */
MUX_CTL_SUBS_RECV, /* Notify the mux it must wait for read events again */
+ MUX_CTL_GET_GLITCHES, /* returns number of glitches on the connection */
};
/* sctl command used by mux->sctl() */
diff --git a/include/haproxy/hlua-t.h b/include/haproxy/hlua-t.h
index 2672ffd..af54d86 100644
--- a/include/haproxy/hlua-t.h
+++ b/include/haproxy/hlua-t.h
@@ -67,6 +67,7 @@ struct stream;
#define HLUA_WAKEREQWR 0x00000008
#define HLUA_EXIT 0x00000010
#define HLUA_NOYIELD 0x00000020
+#define HLUA_BUSY 0x00000040
#define HLUA_F_AS_STRING 0x01
#define HLUA_F_MAY_USE_HTTP 0x02
diff --git a/include/haproxy/hlua.h b/include/haproxy/hlua.h
index 3c67cce..18fad9f 100644
--- a/include/haproxy/hlua.h
+++ b/include/haproxy/hlua.h
@@ -30,6 +30,9 @@
#define HLUA_SET_RUN(__hlua) do {(__hlua)->flags |= HLUA_RUN;} while(0)
#define HLUA_CLR_RUN(__hlua) do {(__hlua)->flags &= ~HLUA_RUN;} while(0)
#define HLUA_IS_RUNNING(__hlua) ((__hlua)->flags & HLUA_RUN)
+#define HLUA_SET_BUSY(__hlua) do {(__hlua)->flags |= HLUA_BUSY;} while(0)
+#define HLUA_CLR_BUSY(__hlua) do {(__hlua)->flags &= ~HLUA_BUSY;} while(0)
+#define HLUA_IS_BUSY(__hlua) ((__hlua)->flags & HLUA_BUSY)
#define HLUA_SET_CTRLYIELD(__hlua) do {(__hlua)->flags |= HLUA_CTRLYIELD;} while(0)
#define HLUA_CLR_CTRLYIELD(__hlua) do {(__hlua)->flags &= ~HLUA_CTRLYIELD;} while(0)
#define HLUA_IS_CTRLYIELDING(__hlua) ((__hlua)->flags & HLUA_CTRLYIELD)
diff --git a/include/haproxy/quic_tls-t.h b/include/haproxy/quic_tls-t.h
index ae65149..326e01b 100644
--- a/include/haproxy/quic_tls-t.h
+++ b/include/haproxy/quic_tls-t.h
@@ -254,8 +254,6 @@ struct quic_enc_level {
struct eb_root pkts;
/* List of QUIC packets with protected header. */
struct list pqpkts;
- /* List of crypto frames received in order. */
- struct list crypto_frms;
} rx;
/* TX part */
diff --git a/include/haproxy/session.h b/include/haproxy/session.h
index 38335e4..8a62805 100644
--- a/include/haproxy/session.h
+++ b/include/haproxy/session.h
@@ -188,6 +188,12 @@ static inline int session_add_conn(struct session *sess, struct connection *conn
LIST_APPEND(&sess->srv_list, &srv_list->srv_list);
}
LIST_APPEND(&srv_list->conn_list, &conn->session_list);
+
+ /* Ensure owner is set for connection. It could have been resetted
+ * prior on after a session_add_conn() failure.
+ */
+ conn->owner = sess;
+
return 1;
}
diff --git a/include/haproxy/stream-t.h b/include/haproxy/stream-t.h
index 7e79b96..4280692 100644
--- a/include/haproxy/stream-t.h
+++ b/include/haproxy/stream-t.h
@@ -279,7 +279,7 @@ struct stream {
int last_rule_line; /* last evaluated final rule's line (def: 0) */
unsigned int stream_epoch; /* copy of stream_epoch when the stream was created */
- struct hlua *hlua; /* lua runtime context */
+ struct hlua *hlua[2]; /* lua runtime context (0: global, 1: per-thread) */
/* Context */
struct {
diff --git a/include/import/ist.h b/include/import/ist.h
index 16b8616..e4e1425 100644
--- a/include/import/ist.h
+++ b/include/import/ist.h
@@ -939,15 +939,12 @@ static inline void istfree(struct ist *ist)
*/
static inline struct ist istdup(const struct ist src)
{
- const size_t src_size = src.len;
-
- /* Allocate at least 1 byte to allow duplicating an empty string with
- * malloc implementations that return NULL for a 0-size allocation.
- */
- struct ist dst = istalloc(src_size ? src_size : 1);
+ /* Allocate 1 extra byte to add an extra \0 delimiter. */
+ struct ist dst = istalloc(src.len + 1);
if (isttest(dst)) {
- istcpy(&dst, src, src_size);
+ istcpy(&dst, src, src.len);
+ dst.ptr[dst.len] = '\0';
}
return dst;