[MINOR] set the log socket receive window to zero bytes
The syslog UDP socket may receive data, which is not cool because those
data accumulate in the system buffers up to the receive socket buffer size.
To prevent this, we set the receive window to zero and try to shutdown(SHUT_RD)
the socket.
diff --git a/src/log.c b/src/log.c
index 1677c2e..542dd0d 100644
--- a/src/log.c
+++ b/src/log.c
@@ -163,6 +163,9 @@
if (logfd < 0) {
if ((logfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0)
return;
+ /* we don't want to receive anything on this socket */
+ setsockopt(logfd, SOL_SOCKET, SO_RCVBUF, &zero, sizeof(zero));
+ shutdown(logfd, SHUT_RD); /* does nothing under Linux, maybe needed for others */
}
if (level < 0 || progname == NULL || message == NULL)