]> granicus.if.org Git - pdns/commitdiff
Make sure that IP_PMTUDISC_DONT is defined
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 23 Jan 2019 16:30:37 +0000 (17:30 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 18 Apr 2019 09:59:51 +0000 (11:59 +0200)
pdns/iputils.cc

index de94bb2e5f6de58362e179f6f0c302347b63d5dd..474b8b484b473a4e89c54767a9ad677e2f2d0f80 100644 (file)
@@ -138,6 +138,7 @@ int SSetsockopt(int sockfd, int level, int opname, int value)
 
 void setSocketIgnorePMTU(int sockfd)
 {
+#if defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DONT)
 #ifdef IP_PMTUDISC_OMIT
   /* Linux 3.15+ has IP_PMTUDISC_OMIT, which discards PMTU information to prevent
      poisoning, but still allows fragmentation if the packet size exceeds the
@@ -154,6 +155,7 @@ void setSocketIgnorePMTU(int sockfd)
 
   /* IP_PMTUDISC_DONT disables Path MTU discovery */
   SSetsockopt(sockfd, IPPROTO_IP, IP_MTU_DISCOVER, IP_PMTUDISC_DONT);
+#endif /* defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DONT) */
 }
 
 bool HarvestTimestamp(struct msghdr* msgh, struct timeval* tv)