]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Add support for buffer-size= to UDP logging #359 (#377)
authormahdi1001 <mahdi1001@users.noreply.github.com>
Sun, 24 Feb 2019 09:24:14 +0000 (12:54 +0330)
committerAmos Jeffries <yadij@users.noreply.github.com>
Sun, 24 Feb 2019 09:24:14 +0000 (22:24 +1300)
* 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.

* Fixed source code formatting

src/log/ModUdp.cc

index 1bd206bcf880136bd3988dac0637cd7a12ee2e21..4b82ec3ab0563fba77594b6a0cb29239ec714199 100644 (file)
@@ -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<char*>(xmalloc(bufsz));
         ll->bufsz = bufsz;