From 142dd33912baf19c96892a204347e4a65943ea48 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Mon, 7 Dec 2020 11:24:37 +0100 Subject: [PATCH] MINOR: muxes: Add exit status for errors about not implemented features The MUX_ES_NOTIMPL_ERR exit status is added to allow the multiplexers to report errors about not implemented features. This will be used by the H1 mux to return 501-not-implemented errors. --- include/haproxy/connection-t.h | 1 + src/log.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/haproxy/connection-t.h b/include/haproxy/connection-t.h index 62bb814412..7fa0611e44 100644 --- a/include/haproxy/connection-t.h +++ b/include/haproxy/connection-t.h @@ -323,6 +323,7 @@ enum mux_exit_status { MUX_ES_SUCCESS, /* Success */ MUX_ES_INVALID_ERR, /* invalid input */ MUX_ES_TOUT_ERR, /* timeout */ + MUX_ES_NOTIMPL_ERR, /* not-implemented error */ MUX_ES_INTERNAL_ERR, /* internal error */ MUX_ES_UNKNOWN /* unknown status (must be the last) */ }; diff --git a/src/log.c b/src/log.c index a1de7e57a2..c24fdbdeb0 100644 --- a/src/log.c +++ b/src/log.c @@ -2168,6 +2168,10 @@ int sess_build_logline(struct session *sess, struct stream *s, char *dst, size_t status = 408; s_flags = SF_ERR_CLITO | SF_FINST_R; break; + case MUX_ES_NOTIMPL_ERR: + status = 501; + s_flags = SF_ERR_PRXCOND | SF_FINST_R; + break; case MUX_ES_INTERNAL_ERR: status = 500; s_flags = SF_ERR_INTERNAL | SF_FINST_R;