From 41a74b468944bfbee48ab5a165cecfdd2eaddafb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Mon, 8 Apr 2019 17:19:28 +0100 Subject: [PATCH] Introduce the notion of experimental features --- servers/lloadd/config.c | 13 +++++++++++++ servers/lloadd/lload.h | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/servers/lloadd/config.c b/servers/lloadd/config.c index 638c167b70..69b74b65e9 100644 --- a/servers/lloadd/config.c +++ b/servers/lloadd/config.c @@ -1890,6 +1890,19 @@ config_feature( ConfigArgs *c ) c->argv[0], c->argv[i] ); return 1; } + + if ( mask & ~LLOAD_FEATURE_SUPPORTED_MASK ) { + for ( i = 1; i < c->argc; i++ ) { + int j = verb_to_mask( c->argv[i], features ); + if ( features[j].mask & ~LLOAD_FEATURE_SUPPORTED_MASK ) { + Debug( LDAP_DEBUG_ANY, "%s: <%s> " + "experimental feature %s is undocumented, unsupported " + "and can change or disappear at any time!\n", + c->log, c->argv[0], c->argv[i] ); + } + } + } + lload_features |= mask; return 0; } diff --git a/servers/lloadd/lload.h b/servers/lloadd/lload.h index 72c3451172..c5a6940559 100644 --- a/servers/lloadd/lload.h +++ b/servers/lloadd/lload.h @@ -177,6 +177,10 @@ typedef enum { LLOAD_FEATURE_PAUSE = 1 << 2, } lload_features_t; +#define LLOAD_FEATURE_SUPPORTED_MASK ( \ + LLOAD_FEATURE_PROXYAUTHZ | \ + 0 ) + #ifdef BALANCER_MODULE #define LLOAD_TLS_CTX ( lload_use_slap_tls_ctx ? slap_tls_ctx : lload_tls_ctx ) #else