From: Kees Monshouwer Date: Tue, 29 Jul 2014 13:01:55 +0000 (+0200) Subject: log denied webserver connections X-Git-Tag: auth-3.4.0-rc1~10^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F1644%2Fhead;p=thirdparty%2Fpdns.git log denied webserver connections --- diff --git a/pdns/sstuff.hh b/pdns/sstuff.hh index 03bcafc1d9..0db6030fe0 100644 --- a/pdns/sstuff.hh +++ b/pdns/sstuff.hh @@ -78,12 +78,17 @@ public: return new Socket(s); } + //! Get remote address + bool getRemote(ComboAddress &remote) { + socklen_t remotelen=sizeof(remote); + return (getpeername(d_socket, (struct sockaddr *)&remote, &remotelen) >= 0); + } + //! Check remote address aganst netmaskgroup ng bool acl(NetmaskGroup &ng) { ComboAddress remote; - socklen_t remotelen=sizeof(remote); - if(getpeername(d_socket, (struct sockaddr *)&remote, &remotelen) >= 0) + if (getRemote(remote)) return ng.match((ComboAddress *) &remote); return false; diff --git a/pdns/webserver.cc b/pdns/webserver.cc index 48b7d662f3..a55cc7d38b 100644 --- a/pdns/webserver.cc +++ b/pdns/webserver.cc @@ -299,6 +299,9 @@ void WebServer::go() if (data->client->acl(acl)) { pthread_create(&tid, 0, &WebServerConnectionThreadStart, (void *)data); } else { + ComboAddress remote; + if (data->client->getRemote(remote)) + L<client; // close socket delete data; }