diff --git a/doc/configuration.txt b/doc/configuration.txt index 34db076bb..5b8188d61 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1262,6 +1262,7 @@ The following keywords are supported in the "global" section : - deviceatlas-log-level - deviceatlas-properties-cookie - deviceatlas-separator + - expose-deprecated-directives - expose-experimental-directives - external-check - fd-hard-limit @@ -1738,6 +1739,12 @@ deviceatlas-separator Sets the character separator for the API properties results. This directive is optional and set to | by default if not set. +expose-deprecated-directives + This statement must appear before using some directives tagged as deprecated + to silent warnings and make sure the config file will not be rejected. Not + all deprecated directives are concerned, only those without any alternative + solution. + expose-experimental-directives This statement must appear before using directives tagged as experimental or the config file will be rejected. diff --git a/include/haproxy/global.h b/include/haproxy/global.h index 2e7fa6bff..555346878 100644 --- a/include/haproxy/global.h +++ b/include/haproxy/global.h @@ -78,6 +78,7 @@ static inline int already_warned(unsigned int warning) } extern unsigned int experimental_directives_allowed; +extern unsigned int deprecated_directives_allowed; struct cfg_keyword; int check_kw_experimental(struct cfg_keyword *kw, const char *file, int linenum, diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c index f31e7a05a..b173511c9 100644 --- a/src/cfgparse-global.c +++ b/src/cfgparse-global.c @@ -75,6 +75,9 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm) alertif_too_many_args(0, file, linenum, args, &err_code); goto out; } + else if (strcmp(args[0], "expose-deprecated-directives") == 0) { + deprecated_directives_allowed = 1; + } else if (strcmp(args[0], "expose-experimental-directives") == 0) { experimental_directives_allowed = 1; } diff --git a/src/haproxy.c b/src/haproxy.c index b83c20eb8..723335a6e 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -267,6 +267,7 @@ unsigned int warned = 0; unsigned int tainted = 0; unsigned int experimental_directives_allowed = 0; +unsigned int deprecated_directives_allowed = 0; int check_kw_experimental(struct cfg_keyword *kw, const char *file, int linenum, char **errmsg)