From df0a5960987b3cb663dcfa93d29c21acc13cd3e3 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 9 Jul 2015 11:20:00 +0200 Subject: [PATCH 1/4] BUG/MINOR: log: missing some ARGC_* entries in fmt_directives() ARGC_CAP was not added to fmt_directives() which is used to format error messages when failing to parse log format expressions. The whole switch/case has been reorganized to match the declaration order making it easier to spot missing values. The default is not the "log" directive anymore but "undefined" asking to report the bug. Backport to 1.5 is not strictly needed but is desirable at least for code sanity. (cherry picked from commit 53e1a6d31743b1bef6063ff30b812521391ae3c3) --- src/log.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/log.c b/src/log.c index 1a5ad25..f0a3072 100644 --- a/src/log.c +++ b/src/log.c @@ -167,22 +167,26 @@ struct logformat_var_args var_args_list[] = { static inline const char *fmt_directive(const struct proxy *curproxy) { switch (curproxy->conf.args.ctx) { - case ARGC_UIF: - return "unique-id-format"; + case ARGC_ACL: + return "acl"; + case ARGC_STK: + return "stick"; + case ARGC_TRK: + return "track-sc"; + case ARGC_LOG: + return "log-format"; case ARGC_HRQ: return "http-request"; case ARGC_HRS: return "http-response"; - case ARGC_STK: - return "stick"; - case ARGC_TRK: - return "track-sc"; break; + case ARGC_UIF: + return "unique-id-format"; case ARGC_RDR: - return "redirect"; break; - case ARGC_ACL: - return "acl"; break; + return "redirect"; + case ARGC_CAP: + return "capture"; default: - return "log-format"; + return "undefined(please report this bug)"; /* must never happen */ } } -- 2.3.6