chiark / gitweb /
pathmtu/pathmtu.c: Don't explicitly set `_BSD_SOURCE'.
[tripe] / pathmtu / pathmtu.c
index 8dac7b1153293f80822539adab2877ff1128e7eb..49c6713364038274575d64d8b48b15498ee7d803 100644 (file)
 
 /*----- Header files ------------------------------------------------------*/
 
-#if defined(linux)
-#  define _BSD_SOURCE
-#endif
-
 #include "config.h"
 
 #include <assert.h>
@@ -403,7 +399,7 @@ struct raw_state {
 static int raw_setup(void *stv, int sk, const struct param *pp)
 {
   struct raw_state *st = stv;
-  size_t sz;
+  socklen_t sz;
   int i, mtu = -1;
   struct ifaddrs *ifa, *ifaa, *ifap;
   struct ifreq ifr;
@@ -617,13 +613,13 @@ static int linux_setup(void *stv, int sk, const struct param *pp)
 {
   struct linux_state *st = stv;
   int i, mtu;
-  size_t sz;
+  socklen_t sz;
 
   /* Snaffle the UDP socket. */
   st->sk = sk;
 
   /* Turn on kernel path-MTU discovery and force DF on. */
-  i = IP_PMTUDISC_DO;
+  i = IP_PMTUDISC_PROBE;
   if (setsockopt(st->sk, IPPROTO_IP, IP_MTU_DISCOVER, &i, sizeof(i)))
     return (-1);
 
@@ -655,7 +651,7 @@ static int linux_selproc(void *stv, fd_set *fd_in, struct probestate *ps)
 {
   struct linux_state *st = stv;
   int mtu;
-  size_t sz;
+  socklen_t sz;
   ssize_t n;
   unsigned char b[65536];