From 07d4ea38faaaff658164395a16a4a1499d03b334 Mon Sep 17 00:00:00 2001 From: mahdi1001 Date: Sun, 10 Feb 2019 08:08:55 +0000 Subject: [PATCH] Add support for buffer-size= to UDP logging (#359) Allow admin control of buffering for log outputs written to UDP receivers using the buffer-size= parameter. buffer-size=0byte disables buffering and sends UDP packets immediately regardless of line size. When non-0 values are used lines shorter than the buffer may be delayed and aggregated into a later UDP packet. Log lines larger than the buffer size will be sent immediately and may trigger delivery of previously buffered content to retain log order (at time of send, not UDP arrival). To avoid truncation problems known with common recipients the buffer size remains capped at 1400 bytes. --- src/log/ModUdp.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/log/ModUdp.cc b/src/log/ModUdp.cc index 1bd206bcf8..4b82ec3ab0 100644 --- a/src/log/ModUdp.cc +++ b/src/log/ModUdp.cc @@ -205,7 +205,8 @@ logfile_mod_udp_open(Logfile * lf, const char *path, size_t bufsz, int fatal_fla * applications like netcat have a small default receive buffer and will * truncate! */ - bufsz = 1400; + if (bufsz > 1400) + bufsz = 1400; if (bufsz > 0) { ll->buf = static_cast(xmalloc(bufsz)); ll->bufsz = bufsz; -- 2.47.2