From: bert hubert Date: Mon, 17 Mar 2014 15:24:46 +0000 (+0100) Subject: make dnsreplay set the right socket size buffers for its abusive use of them X-Git-Tag: rec-3.6.0-rc1~129 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac20420221461dd1a123385c2d34eb505e280a13;p=pdns make dnsreplay set the right socket size buffers for its abusive use of them --- diff --git a/pdns/dnsreplay.cc b/pdns/dnsreplay.cc index 3c2daa57c..30c1713c1 100644 --- a/pdns/dnsreplay.cc +++ b/pdns/dnsreplay.cc @@ -137,6 +137,31 @@ private: } s_idmanager; +void setSocketBuffer(int fd, int optname, uint32_t size) +{ + uint32_t psize=0; + socklen_t len=sizeof(psize); + + if(!getsockopt(fd, SOL_SOCKET, optname, (char*)&psize, &len) && psize > size) { + cerr<<"Not decreasing socket buffer size from "<setNonBlocking(); - + setSocketReceiveBuffer(s_socket->getHandle(), 2000000); + setSocketSendBuffer(s_socket->getHandle(), 2000000); + ComboAddress remote(g_vm["target-ip"].as(), g_vm["target-port"].as());