From: Pieter Lexis Date: Fri, 18 Jan 2019 16:30:53 +0000 (+0100) Subject: auth: hook up webserver loglevel config X-Git-Tag: dnsdist-1.4.0-alpha1~39^2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60986c4be3fb6d0f2cb29b7ba2df75643304de0d;p=thirdparty%2Fpdns.git auth: hook up webserver loglevel config --- diff --git a/pdns/common_startup.cc b/pdns/common_startup.cc index ccdfbe8b25..14376e723c 100644 --- a/pdns/common_startup.cc +++ b/pdns/common_startup.cc @@ -150,6 +150,7 @@ void declareArguments() ::arg().set("webserver-port","Port of webserver/API to listen on")="8081"; ::arg().set("webserver-password","Password required for accessing the webserver")=""; ::arg().set("webserver-allow-from","Webserver/API access is only allowed from these subnets")="127.0.0.1,::1"; + ::arg().set("webserver-log-level","Amount of logging in the webserver (none, common, detailed)")="common"; ::arg().setSwitch("do-ipv6-additional-processing", "Do AAAA additional processing")="yes"; ::arg().setSwitch("query-logging","Hint backends that queries should be logged")="no"; diff --git a/pdns/webserver.hh b/pdns/webserver.hh index c9c9f39d9c..5817d66099 100644 --- a/pdns/webserver.hh +++ b/pdns/webserver.hh @@ -191,6 +191,25 @@ public: Detailed = 20, // The full request headers and body, and the full response headers and body }; + void setLogLevel(const string& level) { + if (level == "none") { + d_loglevel = LogLevel::None; + return; + } + + if (level == "common") { + d_loglevel = LogLevel::Common; + return; + } + + if (level == "detailed") { + d_loglevel = LogLevel::Detailed; + return; + } + + throw PDNSException("Unknown webserver log level: " + level); + } + void setLogLevel(const LogLevel level) { d_loglevel = level; }; diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index f28937b965..41b3cc02a8 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -68,6 +68,7 @@ AuthWebServer::AuthWebServer() : d_ws = new WebServer(arg()["webserver-address"], arg().asNum("webserver-port")); d_ws->setApiKey(arg()["api-key"]); d_ws->setPassword(arg()["webserver-password"]); + d_ws->setLogLevel(arg()["webserver-log-level"]); NetmaskGroup acl; acl.toMasks(::arg()["webserver-allow-from"]);