Index: services/listen_dnsport.c
===================================================================
--- services/listen_dnsport.c	(revision 2339)
+++ services/listen_dnsport.c	(working copy)
@@ -181,6 +181,15 @@
 #  ifdef SO_RCVBUFFORCE
 		}
 #  endif
+		if(setsockopt(s, SOL_SOCKET, SO_SNDBUF, (void*)&rcv, 
+			(socklen_t)sizeof(rcv)) < 0) {
+				log_err("setsockopt(..., SO_RCVBUF, "
+					"...) failed: %s", strerror(errno));
+				close(s);
+				*noproto = 0;
+				*inuse = 0;
+				return -1;
+		}
 #endif /* SO_RCVBUF */
 	}
 	if(family == AF_INET6) {
