]> git.gsnw.org Git - fping.git/commitdiff
-i/-p restrictions only enforced with ./configure --enable-safe-limits, change -i...
authorDavid Schweikert <david@schweikert.ch>
Fri, 17 Feb 2017 07:46:02 +0000 (08:46 +0100)
committerDavid Schweikert <david@schweikert.ch>
Fri, 17 Feb 2017 07:46:02 +0000 (08:46 +0100)
ChangeLog
configure.ac
doc/fping.pod
src/fping.c
src/options.h

index 8a1439471aa808ef3cb348ec46cb5ff8814cb5bb..69d1600ac8d49fa7b7b2391777a4ea4ebb957aab 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,8 @@
 2017-02-13  David Schweikert  <david@schweikert.ch>
-  * Version 4.0-rc1
+  * Version 4.0-rc2
+
+  * INCOMPATIBILE CHANGE: fping and fping6 unification
 
-  * INCOMPATIBILITY WARNING 1:
     fping and fping6 are now unified into one binary. It means that, for
     example, doing 'fping google.com' is going to ping the IPv6 IP of
     google.com on IPv6-enabled hosts.
@@ -11,7 +12,8 @@
     - ./configure --disable-ipv6; make clean install
     - ./configure --disable-ipv4 --program-suffix=6; make clean install
 
-  * INCOMPATIBILITY WARNING 2:
+  * INCOMPATIBILE CHANGE: -n option, not the same as -d anymore
+
     Option -n / --name is now doing a reverse-DNS lookups on host addresses,
     only they are given as IP address, but not for hostnames. For example, if
     you write 'fping -n google.com', fping would previously do a forward-DNS
@@ -24,7 +26,8 @@
     fping -n NAME    NAME->IP->IPNAME       NAME
     fping -d NAME    NAME->IP->IPNAME       NAME->IP->IPNAME
 
-  * INCOMPATIBILITY WARNING 3:
+  * INCOMPATIBILE CHANGE: discard late packets
+
     fping will now discard replies, if they arrive after the defined timeout
     for reply packets, specified with -t. This change is relevant only for for
     the counting and looping modes, where the measured times should now be
     period interval (up to 2000 ms), but it can be overriden with the -t
     option. The default timeout for non-looping/counting modes remains 500 ms.
 
+  * INCOMPATIBLE CHANGE: no restrictions by default
+
+    fping will not enforce that -i is >= 1 and -p >= 10 anymore, except if
+    you ./configure with the new '--enable-safe-limits' parameter.
+    
+    The reasoning to removing the restrictions by default, is that users can
+    clog the network with other tools anyway, and these restrictions are
+    sometimes getting in the way (for example if you try to ping a lot of
+    hosts).
+
   * (feature) Unified 'fping' and 'fping6' into one binary (#80)
   * (feature) Long option names for all options
   * (feature) --enable-ipv6 is now default
@@ -45,6 +58,8 @@
               (name->IP->name), as '-n' was doing until now
   * (feature) Enforce -t timeout on reply packets, by discarding late packets (#32)
   * (feature) Auto-adjust timeout for -c/-C/-l mode to value of -p
+  * (feature) -i/-p restrictions only enforced with ./configure --enable-safe-limits
+  * (feature) Default interval -i changed from 25ms to 10ms
   * (bugfix)  Fix compatibility issue with GNU Hurd
   * (other)   A C99 compiler is now required
   * (other)   Option parsing with optparse (https://github.com/skeeto/optparse)
index 928424d48c3ced4960d0e54e28490909d3933639..98d28a76d84b3b4faafd69cd638ac5dcd8c30122 100644 (file)
@@ -42,6 +42,11 @@ AS_IF([test "x$enable_timestamp" = "xyes" -a "x$have_so_timestamp" = "xno"], [
   AC_MSG_ERROR([--enable-timestamp not supported on this platform])
 ])
 
+AC_ARG_ENABLE([safe-limits],
+  AS_HELP_STRING([--enable-safe-limits], [Restrict timing parameters (-i, -p) within "safe" limits]))
+AS_IF([test "x$enable_safe_limits" = "xyes"], [
+   AC_DEFINE(FPING_SAFE_LIMITS, [1], [safe limits should be enforced])])
+
 AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 AM_MAINTAINER_MODE
index 9dcf19b69b78af5898753f7cf4ac572dd07f8f36..9585f35c6ba84b0294e51db10c4e51d7aa6e4a97 100644 (file)
@@ -126,7 +126,7 @@ Set the IP TTL field (time to live hops).
 =item B<-i>, B<--interval>=I<MSEC>
 
 The minimum amount of time (in milliseconds) between sending a ping packet
-to any target (default is 25, minimum is 1).
+to any target (default is 10, minimum is 1).
 
 =item B<-I>, B<--iface>=I<IFACE>
 
@@ -266,8 +266,8 @@ line arguments, and 4 for a system call failure.
 
 =head1 RESTRICTIONS
 
-In order to avoid users mistakingly flooding the network, the following values
-are not allowed for non-root users:
+If fping was configured with C<--enable-safe-limits>, the following values are
+not allowed for non-root users:
 
 =over 4
 
index 42c115247cfaef988385c548956db28a1273adc0..e14fcc15104b94dec4cecb772a37a6f8ee564a65 100644 (file)
@@ -109,8 +109,13 @@ extern int h_errno;
 #define DEFAULT_PING_DATA_SIZE 56
 
 /* maxima and minima */
+#ifdef FPING_SAFE_LIMITS
 #define MIN_INTERVAL 1 /* in millisec */
 #define MIN_PERHOST_INTERVAL 10 /* in millisec */
+#else
+#define MIN_INTERVAL 0
+#define MIN_PERHOST_INTERVAL 0
+#endif
 
 /* response time array flags */
 #define RESP_WAITING -1
index 75a127750d388968c9ed77c2fe47b1cf8f591e4c..229975c38d66e66df871ddf5c41b36b0c913fd75 100644 (file)
@@ -20,7 +20,7 @@
 /* constants */
 
 #ifndef DEFAULT_INTERVAL
-#define DEFAULT_INTERVAL 25        /* default time between packets (msec) */
+#define DEFAULT_INTERVAL 10        /* default time between packets (msec) */
 #endif
 
 #ifndef DEFAULT_PERHOST_INTERVAL      /* default time between packets */