From: Willy Tarreau Date: Mon, 17 Sep 2007 08:56:13 +0000 (+0200) Subject: [MINOR] set the log socket receive window to zero bytes X-Git-Tag: v1.3.13~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d08953ce0ff4cc438a14642c0cfdf6040df3b80;p=thirdparty%2Fhaproxy.git [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 1677c2ecc6..542dd0dc4c 100644 --- a/src/log.c +++ b/src/log.c @@ -163,6 +163,9 @@ void send_log(struct proxy *p, int level, const char *message, ...) 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)