]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to disable fragmentation on systems with IP_DONTFRAG,
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 25 Apr 2024 10:53:05 +0000 (12:53 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 25 Apr 2024 10:53:05 +0000 (12:53 +0200)
  with a nonzero value for the socket option argument.

doc/Changelog
services/listen_dnsport.c

index b7272918608891023febf9c367a190ca3312b281..d683d1a64ab3e818f5e828e171341119be22e24d 100644 (file)
@@ -3,6 +3,8 @@
        - Merge #1041: Stub and Forward unshare. This has one structure
          for them and fixes #1038: fatal error: Could not initialize
          thread / error: reading root hints.
+       - Fix to disable fragmentation on systems with IP_DONTFRAG,
+         with a nonzero value for the socket option argument.
 
 24 April 2024: Wouter
        - Fix ci workflow for macos for moved install locations.
index 26679941b1f7e4536047a6d7e68af72b7e9a821c..7eb59a1618a18487990aa28a32275e884fcabf4f 100644 (file)
@@ -612,7 +612,9 @@ create_udp_sock(int family, int socktype, struct sockaddr* addr,
 #  elif defined(IP_DONTFRAG) && !defined(__APPLE__)
                /* the IP_DONTFRAG option if defined in the 11.0 OSX headers,
                 * but does not work on that version, so we exclude it */
-               int off = 0;
+               /* a nonzero value disables fragmentation, according to
+                * docs.oracle.com for ip(4). */
+               int off = 1;
                if (setsockopt(s, IPPROTO_IP, IP_DONTFRAG,
                        &off, (socklen_t)sizeof(off)) < 0) {
                        log_err("setsockopt(..., IP_DONTFRAG, ...) failed: %s",