Index: head/dns/powerdns-recursor/Makefile =================================================================== --- head/dns/powerdns-recursor/Makefile (revision 470695) +++ head/dns/powerdns-recursor/Makefile (revision 470696) @@ -1,57 +1,56 @@ # Created by: sten@blinkenlights.nl # $FreeBSD$ PORTNAME= recursor -DISTVERSION= 4.1.2 -PORTREVISION= 3 +DISTVERSION= 4.1.3 CATEGORIES= dns ipv6 MASTER_SITES= http://downloads.powerdns.com/releases/ PKGNAMEPREFIX= powerdns- DISTNAME= pdns-${PORTNAME}-${DISTVERSION} MAINTAINER= tremere@cainites.net COMMENT= Advanced DNS recursor LICENSE= GPLv2 BROKEN_armv6= fails to compile: use of overloaded operator << is ambiguous BROKEN_armv7= fails to compile: use of overloaded operator << is ambiguous BROKEN_sparc64= fails to compile: json11.cpp: undefined reference to std::__throw_out_of_range_fmt BROKEN_powerpc64= fails to compile: dnslabeltext.cc: undefined reference to std::__cxx11::basic_string BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs LIB_DEPENDS= libboost_context.so:devel/boost-libs \ libprotobuf.so:devel/protobuf CONFLICTS_INSTALL= powerdns-recursor40 USES= compiler:c++11-lib cpe gmake localbase:ldflags pkgconfig ssl tar:bzip2 GNU_CONFIGURE= YES CXXFLAGS+= -D_GLIBCXX_USE_C99 CONFIGURE_ARGS= --sysconfdir=${PREFIX}/etc/pdns \ --with-protobuf CPE_VENDOR= powerdns USE_RC_SUBR= pdns-recursor OPTIONS_DEFINE= LUAJIT OPTALGO SETUID OPTIONS_DEFAULT= SETUID LUAJIT_CONFIGURE_WITH= luajit LUAJIT_DESC= Use LuaJIT instead of Lua LUAJIT_LIB_DEPENDS= libluajit-5.1.so.2:lang/luajit LUAJIT_USES_OFF= lua OPTALGO_CONFIGURE_ON= --enable-botan \ --enable-libdecaf \ --enable-libsodium OPTALGO_DESC= Enable optional algorithms (12, 15 & 16) OPTALGO_LIB_DEPENDS= libbotan-2.so:security/botan2 \ libdecaf.so:security/libdecaf \ libsodium.so:security/libsodium SETUID_DESC= Run as pdns_recursor user SETUID_EXTRA_PATCHES= ${PATCHDIR}/extrapatch-setuid SETUID_VARS= USERS=pdns_recursor GROUPS=pdns SUB_FILES= pkg-message .include Index: head/dns/powerdns-recursor/distinfo =================================================================== --- head/dns/powerdns-recursor/distinfo (revision 470695) +++ head/dns/powerdns-recursor/distinfo (revision 470696) @@ -1,3 +1,3 @@ -TIMESTAMP = 1522338047 -SHA256 (pdns-recursor-4.1.2.tar.bz2) = db4652f171c41bcd4345d6ad094b85a4d546caab72fd02fe523c73a8ce44ed76 -SIZE (pdns-recursor-4.1.2.tar.bz2) = 1219927 +TIMESTAMP = 1527062092 +SHA256 (pdns-recursor-4.1.3.tar.bz2) = c133455f7abc1e44800603c134cdadf1968b802f77348555179087734c7da88b +SIZE (pdns-recursor-4.1.3.tar.bz2) = 1223928 Index: head/dns/powerdns-recursor/files/patch-boost-1.67 =================================================================== --- head/dns/powerdns-recursor/files/patch-boost-1.67 (revision 470695) +++ head/dns/powerdns-recursor/files/patch-boost-1.67 (nonexistent) @@ -1,2429 +0,0 @@ -https://github.com/PowerDNS/pdns/commit/e6a9dde524b5 - ---- arguments.cc.orig 2018-03-29 13:04:45 UTC -+++ arguments.cc -@@ -443,7 +443,7 @@ bool ArgvMap::file(const char *fname, bool lax, bool i - set("include-dir","Directory to include configuration files from"); - - if(!parseFile(fname, "", lax)) { -- L << Logger::Warning << "Unable to open " << fname << std::endl; -+ g_log << Logger::Warning << "Unable to open " << fname << std::endl; - return false; - } - -@@ -453,7 +453,7 @@ bool ArgvMap::file(const char *fname, bool lax, bool i - gatherIncludes(extraConfigs); - for(const std::string& fn : extraConfigs) { - if (!file(fn.c_str(), lax, true)) { -- L << Logger::Error << fn << " could not be parsed" << std::endl; -+ g_log << Logger::Error << fn << " could not be parsed" << std::endl; - throw ArgException(fn + " could not be parsed"); - } - } -@@ -471,18 +471,18 @@ void ArgvMap::gatherIncludes(std::vector - - // stat - if (stat(params["include-dir"].c_str(), &st)) { -- L << Logger::Error << params["include-dir"] << " does not exist!" << std::endl; -+ g_log << Logger::Error << params["include-dir"] << " does not exist!" << std::endl; - throw ArgException(params["include-dir"] + " does not exist!"); - } - - // wonder if it's accessible directory - if (!S_ISDIR(st.st_mode)) { -- L << Logger::Error << params["include-dir"] << " is not a directory" << std::endl; -+ g_log << Logger::Error << params["include-dir"] << " is not a directory" << std::endl; - throw ArgException(params["include-dir"] + " is not a directory"); - } - - if (!(dir = opendir(params["include-dir"].c_str()))) { -- L << Logger::Error << params["include-dir"] << " is not accessible" << std::endl; -+ g_log << Logger::Error << params["include-dir"] << " is not accessible" << std::endl; - throw ArgException(params["include-dir"] + " is not accessible"); - } - -@@ -494,7 +494,7 @@ void ArgvMap::gatherIncludes(std::vector - namebuf << params["include-dir"].c_str() << "/" << ent->d_name; // FIXME: Use some path separator - // ensure it's readable file - if (stat(namebuf.str().c_str(), &st) || !S_ISREG(st.st_mode)) { -- L << Logger::Error << namebuf.str() << " is not a file" << std::endl; -+ g_log << Logger::Error << namebuf.str() << " is not a file" << std::endl; - closedir(dir); - throw ArgException(namebuf.str() + " does not exist!"); - } ---- dns.hh.orig 2018-03-29 13:04:45 UTC -+++ dns.hh -@@ -225,7 +225,6 @@ inline uint16_t * getFlagsFromDNSHeader(struct dnshead - #define FLAGS_CD_OFFSET (12) - #endif - --#define L theL() - extern time_t s_starttime; - - uint32_t hashQuestion(const char* packet, uint16_t len, uint32_t init); ---- gss_context.cc.orig 2018-03-29 13:04:45 UTC -+++ gss_context.cc -@@ -456,17 +456,17 @@ bool gss_add_signature(const DNSName& context, const s - string tmp_mac; - GssContext gssctx(context); - if (!gssctx.valid()) { -- L<(in)); - } - } -- catch(std::exception& e) { theL() <registerFunction("check",[](const cas_t& cas, const ComboAddress&ca) { -@@ -451,7 +451,7 @@ RecursorLua4::RecursorLua4(const std::string& fname) - } - } - catch(std::exception& e) { -- theL() <writeFunction("pdnslog", [](const std::string& msg, boost::optional loglevel) { -- theL() << (Logger::Urgency)loglevel.get_value_or(Logger::Warning) << msg< > in_t; - vector > > pd{ -@@ -719,7 +719,7 @@ loop:; - dq.udpAnswer = GenUDPQueryResponse(dq.udpQueryDest, dq.udpQuery); - auto cbFunc = d_lw->readVariable>(dq.udpCallback).get_value_or(0); - if(!cbFunc) { -- theL()<d_rcode = RCode::FormErr; - g_stats.serverParseError++; - #ifdef HAVE_PROTOBUF -@@ -287,7 +287,7 @@ int asyncresolve(const ComboAddress& ip, const DNSName - return 1; // success - oddly enough - } - catch(...) { -- L< size) { -- L< *nearMissLimit) { -- L< "<<*nearMissLimit<<") bogus answers for '"< "<<*nearMissLimit<<") bogus answers for '"<count(d_remote) && !(*t_tcpClientCounts)[d_remote]--) -@@ -858,12 +858,12 @@ static void startDoResolve(void *p) - - - if(!g_quiet || tracedQuery) { -- L<getTid()<<"/"<numProcesses()<<"] " << (dc->d_tcp ? "TCP " : "") << "question for '"<d_mdp.d_qname<<"|" -+ g_log<getTid()<<"/"<numProcesses()<<"] " << (dc->d_tcp ? "TCP " : "") << "question for '"<d_mdp.d_qname<<"|" - <d_mdp.d_qtype)<<"' from "<getRemote(); - if(!dc->d_ednssubnet.source.empty()) { -- L<<" (ecs "<d_ednssubnet.source.toString()<<")"; -+ g_log<<" (ecs "<d_ednssubnet.source.toString()<<")"; - } -- L<getTid()); -@@ -926,7 +926,7 @@ static void startDoResolve(void *p) - } - catch(ImmediateServFailException &e) { - if(g_logCommonErrors) -- L<getRemote()<<" during resolve of '"<d_mdp.d_qname<<"' because: "<getRemote()<<" during resolve of '"<d_mdp.d_qname<<"' because: "<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<<" validates correctly"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<<" validates correctly"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<<" validates as Insecure"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<<" validates as Insecure"<ad=0; - } - else if(state == Bogus) { - if(g_dnssecLogBogus || sr.doLog() || g_dnssecmode == DNSSECMode::ValidateForLog) { -- L<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<<" validates as Bogus"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" for "<d_remote.toStringWithPort()<<" validates as Bogus"<cd && (g_dnssecmode == DNSSECMode::ValidateAll || dc->d_mdp.d_header.ad || DNSSECOK)) { - if(sr.doLog()) { -- L<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" because recursor or query demands it for Bogus results"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" because recursor or query demands it for Bogus results"<rcode=RCode::ServFail; - goto sendit; - } else { - if(sr.doLog()) { -- L<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" Bogus validation since neither config nor query demands this"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<" Bogus validation since neither config nor query demands this"<getRemote()<<" during validation of '"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<"' because: "<getRemote()<<" during validation of '"<d_mdp.d_qname<<"|"<d_mdp.d_qtype).getName()<<"' because: "<rcode=RCode::ServFail; - goto sendit; - } -@@ -1195,7 +1195,7 @@ static void startDoResolve(void *p) - addCMsgSrcAddr(&msgh, cbuf, &dc->d_local, 0); - } - if(sendmsg(dc->d_socket, &msgh, 0) < 0 && g_logCommonErrors) -- L<d_remote.toStringWithPort()<<" failed with: "<d_remote.toStringWithPort()<<" failed with: "<insertResponsePacket(dc->d_tag, dc->d_qhash, dc->d_mdp.d_qname, dc->d_mdp.d_qtype, dc->d_mdp.d_qclass, -@@ -1221,11 +1221,11 @@ static void startDoResolve(void *p) - bool hadError=true; - - if(wret == 0) -- L<getRemote()<getRemote()<getRemote()<<": "<< strerror(errno) <getRemote()<<": "<< strerror(errno) <getRemote()<<" for "<d_mdp.d_qname<<" (size="<< (2 + packet.size()) <<", sent "<getRemote()<<" for "<d_mdp.d_qname<<" (size="<< (2 + packet.size()) <<", sent "<d_now); - if(!g_quiet) { -- L<getTid()<<"/"<numProcesses()<<"] answer to "<<(dc->d_mdp.d_header.rd?"":"non-rd ")<<"question '"<d_mdp.d_qname<<"|"<d_mdp.d_qtype); -- L<<"': "<ancount)<<" answers, "<arcount)<<" additional, took "<getTid()<<"/"<numProcesses()<<"] answer to "<<(dc->d_mdp.d_header.rd?"":"non-rd ")<<"question '"<d_mdp.d_qname<<"|"<d_mdp.d_qtype); -+ g_log<<"': "<ancount)<<" answers, "<arcount)<<" additional, took "<d_mdp.d_qname<<", "<d_mdp.d_qname<<", "<getMaxStackUsage(), g_stats.maxMThreadStackUsage); -@@ -1436,7 +1436,7 @@ static void handleRunningTCPQuestion(int fd, FDMultipl - } - if(!bytes || bytes < 0) { - if(g_logCommonErrors) -- L<d_remote.toString() <<" disconnected after first byte"<d_remote.toString() <<" disconnected after first byte"<removeReadFD(fd); - return; - } -@@ -1444,7 +1444,7 @@ static void handleRunningTCPQuestion(int fd, FDMultipl - else if(conn->state==TCPConnection::GETQUESTION) { - ssize_t bytes=recv(conn->getFD(), conn->data + conn->bytesread, conn->qlen - conn->bytesread, 0); - if(!bytes || bytes < 0 || bytes > std::numeric_limits::max()) { -- L<d_remote.toString() <<" disconnected while reading question body"<d_remote.toString() <<" disconnected while reading question body"<removeReadFD(fd); - return; - } -@@ -1459,7 +1459,7 @@ static void handleRunningTCPQuestion(int fd, FDMultipl - catch(MOADNSException &mde) { - g_stats.clientParseError++; - if(g_logCommonErrors) -- L<d_remote.toString() <d_remote.toString() <d_tcpConnection = conn; // carry the torch -@@ -1503,14 +1503,14 @@ static void handleRunningTCPQuestion(int fd, FDMultipl - } - catch(const std::exception& e) { - if(g_logCommonErrors) -- L<d_mdp.d_header.qr) { - delete dc; - g_stats.ignoredCount++; -- L<d_remote.toString() <<" on server socket!"<d_remote.toString() <<" on server socket!"<d_mdp.d_header.opcode) { - delete dc; - g_stats.ignoredCount++; -- L<d_remote.toString() <<" on server socket!"<d_remote.toString() <<" on server socket!"<push_back(addr); - if(t_allowFrom && !t_allowFrom->match(&addr)) { - if(!g_quiet) -- L<getTid()<<"] dropping TCP query from "<getTid()<<"] dropping TCP query from "<= sizeof(struct dnsheader)) { - struct dnsheader tmpdh; -@@ -1760,14 +1760,14 @@ static string* doProcessUDPQuestion(const std::string& - } - } - catch(std::exception& e) { -- L<ipfilter(fromaddr, destaddr, *dh)) { - if(!g_quiet) -- L<getTid()<<"/"<numProcesses()<<"] DROPPED question from "<getTid()<<"/"<numProcesses()<<"] DROPPED question from "<numProcesses() > g_maxMThreads) { - if(!g_quiet) -- L<getTid()<<"/"<numProcesses()<<"] DROPPED question from "<getTid()<<"/"<numProcesses()<<"] DROPPED question from "<match(&fromaddr)) { - if(!g_quiet) -- L<getTid()<<"] dropping UDP query from "<getTid()<<"] dropping UDP query from "<getTid()<<"] dropping UDP query from "<getTid()<<"] dropping UDP query from "<qr) { - g_stats.ignoredCount++; - if(g_logCommonErrors) -- L<opcode) { - g_stats.ignoredCount++; - if(g_logCommonErrors) -- L<opcode<<" from "<opcode<<" from "<= 0) { - if(i==locals.begin()) -- L<(pleaseGetCacheMisses); - - if(g_stats.qcounter && (cacheHits + cacheMisses) && SyncRes::s_queries && SyncRes::s_outqueries) { -- L<(pleaseGetCacheSize)<< " cache entries, "<< - broadcastAccFunction(pleaseGetNegCacheSize)<<" negative entries, "<< - (int)((cacheHits*100.0)/(cacheHits+cacheMisses))<<"% cache hits"<(pleaseGetThrottleSize) <<", ns speeds: " - << broadcastAccFunction(pleaseGetNsSpeedsSize)<(pleaseGetConcurrentQueries)<<" queries running, "<(pleaseGetPacketCacheSize) << -+ g_log<(pleaseGetPacketCacheSize) << - " packet cache entries, "<<(int)(100.0*broadcastAccFunction(pleaseGetPacketCacheHits)/SyncRes::s_queries) << "% packet cache hits"<wantAnswer) { - if(write(g_pipes[t_id].writeFromThread, &resp, sizeof(resp)) != sizeof(resp)) { -@@ -2406,10 +2406,10 @@ static void handleRCC(int fd, FDMultiplexer::funcparam - command(); - } - catch(std::exception& e) { -- L<" : pident.domain.toString())<<", "<d_waiters.size()<<" waiters"<" : pident.domain.toString())<<", "<d_waiters.size()<<" waiters"<= 0) { -@@ -2585,13 +2585,13 @@ FDMultiplexer* getMultiplexer() - return ret; - } - catch(FDMultiplexerException &fe) { -- L<= wantFDs) { - setFilenumLimit(wantFDs); -- L<addMask(line); - } -- L<size() <<" allow-from ranges from file '"<<::arg()["allow-from-file"]<<"' - overriding 'allow-from' setting"<size() <<" allow-from ranges from file '"<<::arg()["allow-from-file"]<<"' - overriding 'allow-from' setting"< ips; - stringtok(ips, ::arg()["allow-from"], ", "); - -- L<::const_iterator i = ips.begin(); i!= ips.end(); ++i) { - allowFrom->addMask(*i); - if(i!=ips.begin()) -- L< > parseCPU - const std::string value = ::arg()["cpu-map"]; - - if (!value.empty() && !isSettingThreadCPUAffinitySupported()) { -- L< > parseCPU - } - } - catch(const std::exception& e) { -- L<second); - if (rc == 0) { -- L<second) { -- L<second) { -- L<= 0) -- theL().setFacility(val); -+ g_log.setFacility(val); - else -- L< addrs; - if(!::arg()["query-local-address6"].empty()) { - SyncRes::s_doIPv6=true; -- L<::const_iterator i = ips.begin(); i!= ips.end(); ++i) { - SyncRes::addDontQuery(*i); - if(i!=ips.begin()) -- L<(new boost::uuids::random_generator()); - #endif -- L<(::arg()["lua-dns-script"]); -- L<getName() << "' multiplexer"<getName() << "' multiplexer"<addReadFD(g_pipes[t_id].readToThread, handlePipeRequest); -@@ -3268,7 +3268,7 @@ try - for(expired_t::iterator i=expired.begin() ; i != expired.end(); ++i) { - shared_ptr conn=any_cast >(i->second); - if(g_logCommonErrors) -- L<d_remote.toString() <d_remote.toString() <removeReadFD(i->first); - } - } -@@ -3308,15 +3308,15 @@ try - } - } - catch(PDNSException &ae) { -- L<reserve(zoneSizeHint); - } - } -- theL()<setName(polName); - loadRPZFromFile(filename, zone, defpol, maxTTL); - lci.dfe.addZone(zone); -- theL()<toString()<toString()<toString()<toString()<(dynamic_cast(DSRecordContent::make(what))); - lci.dsAnchors[who].insert(*ds); - }); - broadcastAccFunction(boost::bind(pleaseWipePacketCache, who, true)); -- L< - #include "dnsrecords.hh" - #include --#undef L - #include - #include - #include -@@ -42,7 +41,6 @@ - #include "validate.hh" - #undef max - --#define L theL() - #include "namespaces.hh" - using namespace ::boost::multi_index; - ---- reczones.cc.orig 2018-03-29 13:04:45 UTC -+++ reczones.cc -@@ -119,10 +119,10 @@ static void makeNameToIPZone(std::shared_ptrcount(dr.d_name)) { -- L<count(dr.d_name)) { -- L<::const_iterator iter = servers.begin(); iter != servers.end(); ++iter) { - if(verbose && iter != servers.begin()) -- L<<", "; -+ g_log<<", "; - - ComboAddress addr=parseIPAndPort(*iter, 53); - if(verbose) -- L< original=SyncRes::getDomainMap(); - - try { -- L< parseAuthAndForw - // headers.first=toCanonic("", headers.first); - if(n==0) { - ad.d_rdForward = false; -- L< parseAuthAndForw - } - } - else { -- L< parseAuthAndForw - } - - if(!::arg()["forward-zones-file"].empty()) { -- L< parseAuthAndForw - ad.d_name = DNSName(domain); - (*newMap)[ad.d_name]=ad; - } -- L<size() - before<<" forwarding instructions from file '"<<::arg()["forward-zones-file"]<<"'"<size() - before<<" forwarding instructions from file '"<<::arg()["forward-zones-file"]<<"'"< parseAuthAndForw - - ifstream ifs(fname.c_str()); - if(!ifs) { -- L< parseAuthAndForw - } - } - if(::arg().mustDo("serve-rfc1918")) { -- L< loadRPZFromServer(const ComboAddress& master, const DNSName& zoneName, std::shared_ptr zone, boost::optional defpol, uint32_t maxTTL, const TSIGTriplet& tt, size_t maxReceivedBytes, const ComboAddress& localAddress, uint16_t axfrTimeout) - { -- L< loadRPZFromServer(const C - throw PDNSException("Total AXFR time exceeded!"); - } - if(last != time(0)) { -- L<getZoneRepresentation()<getZoneRepresentation()<d_st.serial, zone->size(), true); - } - catch(const std::exception& e) { -- theL()<(dr)->d_st.serial<(dr)->d_st.serial<, vector > > deltas; - - ComboAddress local(localAddress); -@@ -333,13 +333,13 @@ void RPZIXFRTracker(const ComboAddress& master, boost: - try { - deltas = getIXFRDeltas(master, zoneName, dr, tt, &local, maxReceivedBytes); - } catch(std::runtime_error& e ){ -- L< oldZone = luaconfsLocal->dfe.getZone(zoneIdx); -@@ -352,7 +352,7 @@ void RPZIXFRTracker(const ComboAddress& master, boost: - const auto& remove = delta.first; - const auto& add = delta.second; - if(remove.empty()) { -- L<clear(); - fullUpdate = true; - } -@@ -365,11 +365,11 @@ void RPZIXFRTracker(const ComboAddress& master, boost: - // cout<<"Got good removal of SOA serial "<d_st.serial<(rr); -- // L<d_st.serial<d_st.serial<d_st.serial<d_st.serial<setSerial(sr->d_st.serial); - setRPZZoneNewState(polName, sr->d_st.serial, newZone->size(), fullUpdate); - ---- secpoll-recursor.cc.orig 2018-03-29 13:04:45 UTC -+++ secpoll-recursor.cc -@@ -55,7 +55,7 @@ void doSecPoll(time_t* last_secpoll) - } - - if(state == Bogus) { -- L<pw_name, gid)<0) { -- theL()<gr_gid; -@@ -204,7 +204,7 @@ int Utility::makeUidNumeric(const string &username) - if(!(newuid=atoi(username.c_str()))) { - struct passwd *pw=getpwnam(username.c_str()); - if(!pw) { -- theL()<pw_uid; ---- validate-recursor.cc.orig 2018-03-29 13:04:45 UTC -+++ validate-recursor.cc -@@ -13,7 +13,7 @@ bool checkDNSSECDisabled() { - bool warnIfDNSSECDisabled(const string& msg) { - if(g_dnssecmode == DNSSECMode::Off) { - if (!msg.empty()) -- L<body.empty()) { -- L<body, err); - if (doc.is_null()) { -- L<headers["access-control-allow-origin"] = "*"; - - if (api_key.empty()) { -- L<url.path << "\": Authentication failed, API Key missing in config" << endl; -+ g_log<url.path << "\": Authentication failed, API Key missing in config" << endl; - throw HttpUnauthorizedException("X-API-Key"); - } - bool auth_ok = req->compareHeader("x-api-key", api_key) || req->getvars["api-key"]==api_key; - - if (!auth_ok) { -- L<url.path << "\": Authentication by API Key failed" << endl; -+ g_log<url.path << "\": Authentication by API Key failed" << endl; - throw HttpUnauthorizedException("X-API-Key"); - } - -@@ -181,7 +181,7 @@ static void webWrapper(WebServer::HandlerFunction hand - if (!web_password.empty()) { - bool auth_ok = req->compareAuthorization(web_password); - if (!auth_ok) { -- L<url.path << "\": Web Authentication failed" << endl; -+ g_log<url.path << "\": Web Authentication failed" << endl; - throw HttpUnauthorizedException("Basic"); - } - } -@@ -206,11 +206,11 @@ void WebServer::handleRequest(HttpRequest& req, HttpRe - - try { - if (!req.complete) { -- L<writenWithTimeout(reply.c_str(), reply.size(), timeout); - } - catch(PDNSException &e) { -- L<d_local.toStringWithPort()<d_local.toStringWithPort()<getRemote(remote)) -- L<