MINOR: mux: Add info about the supported side in alpn_mux_list structure

Now, a multiplexer can specify if it can be install on incoming connections
(ALPN_SIDE_FE), on outgoing connections (ALPN_SIDE_BE) or both
(ALPN_SIDE_BOTH). These flags are compatible with proxies' ones.
This commit is contained in:
Christopher Faulet 2018-03-06 14:43:47 +01:00 committed by Willy Tarreau
parent b75bb21092
commit 2d5292a412
3 changed files with 10 additions and 2 deletions

View File

@ -429,9 +429,17 @@ enum alpn_proxy_mode {
ALPN_MODE_ANY = ALPN_MODE_TCP | ALPN_MODE_HTTP,
};
enum alpn_proxy_side {
ALPN_SIDE_NONE = 0,
ALPN_SIDE_FE = 1, // same as PR_CAP_FE
ALPN_SIDE_BE = 2, // same as PR_CAP_BE
ALPN_SIDE_BOTH = ALPN_SIDE_FE | ALPN_SIDE_BE,
};
struct alpn_mux_list {
const struct ist token; /* token name and length. Empty is catch-all */
enum alpn_proxy_mode mode;
enum alpn_proxy_side side;
const struct mux_ops *mux;
struct list list;
};

View File

@ -3603,7 +3603,7 @@ const struct mux_ops h2_ops = {
/* ALPN selection : this mux registers ALPN tolen "h2" */
static struct alpn_mux_list alpn_mux_h2 =
{ .token = IST("h2"), .mode = ALPN_MODE_HTTP, .mux = &h2_ops };
{ .token = IST("h2"), .mode = ALPN_MODE_HTTP, .side = ALPN_SIDE_FE, .mux = &h2_ops };
/* config keyword parsers */
static struct cfg_kw_list cfg_kws = {ILH, {

View File

@ -217,7 +217,7 @@ const struct mux_ops mux_pt_ops = {
/* ALPN selection : default mux has empty name */
static struct alpn_mux_list alpn_mux_pt =
{ .token = IST(""), .mode = ALPN_MODE_ANY, .mux = &mux_pt_ops };
{ .token = IST(""), .mode = ALPN_MODE_ANY, .side = ALPN_SIDE_BOTH, .mux = &mux_pt_ops };
__attribute__((constructor))
static void __mux_pt_init(void)