diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..fb06181 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,80 @@ +fping 4.0 (2017-04-23) +====================== + +## Incompatible Changes + +##### fping and fping6 unification + +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. + +If you need exact compatibility with old versions, you can configure and +install fping twice: once for ipv4, and once for ipv6: + + ./configure --disable-ipv6; make clean install + ./configure --disable-ipv4 --program-suffix=6; make clean install + +##### Option -n, not the same as -d anymore + +Option -n / --name is now doing a reverse-DNS lookups on host addresses, +only if 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 lookup on google.com, and then a reverse-DNS lookup on the +resolved IP address. Now, it is just going to keep the name 'google.com'. +That same behavior can be achieved with the option -d / --rdns (which was +previously an alias for -n). + + fping<4.0 fping>=4.0 + fping -n NAME NAME->IP->IPNAME NAME + fping -d NAME NAME->IP->IPNAME NAME->IP->IPNAME + +##### Discarding of 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 the +count and loop modes, where the measured times should be now more +consistent (see github issue #32 for details). + +To prevent loosing reply packets because of this change, the default +timeout in count and loop modes is now automatically adjusted to the +period interval (up to 2000 ms), but it can be overriden with the -t +option. The default timeout for non-loop/count modes remains 500 ms. + +##### No restrictions by default + +fping will not enforce -i >= 1 and -p >= 10 anymore, except if you +'./configure --enable-safe-limits'. + +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). + +##### Default interval (-i) changed from 25ms to 10ms + +The default minimum interval between ping probes has been changed from +25ms to 10ms. The reason is that 25ms is very high, considering today's +fast networks: it generates at most 31 kbps of traffic (for IPv4 and +default payload size). + +## New features + +- Unified 'fping' and 'fping6' into one binary (#80) +- Long option names for all options +- IPv6 enabled by default +- New option -4 to force IPv4 +- New option -6 to force IPv6 +- Keep original name if a hostname is given with -n/--name +- Option -d/--rdns now always does a rdns-lookup, even for names, as '-n' was doing until now +- Enforce -t timeout on reply packets, by discarding late packets (#32) +- Auto-adjust timeout for -c/-C/-l mode to value of -p + +## Bugfixes and other changes + +- -i/-p restrictions disabled by default (enable with --enable-safe-limits) +- Default interval -i changed from 25ms to 10ms +- Fix compatibility issue with GNU Hurd +- A C99 compiler is now required +- Option parsing with optparse (https://github.com/skeeto/optparse). Thanks Christopher Wellons! +- New changelog file format diff --git a/README b/README deleted file mode 100644 index 1468931..0000000 --- a/README +++ /dev/null @@ -1,55 +0,0 @@ -fping 3 README --------------- -fping is a program to send ICMP echo probes to network hosts, similar to ping, -but much better performing when pinging multiple hosts. fping has a long long -story: Roland Schemers did publish a first version of it in 1992 and it has -established itself since then as a standard tool. - -Current maintainer: - David Schweikert - -Website: - http://fping.org/ - -Mailing-list: - https://groups.google.com/group/fping-users - - -Installation ------------- -If you want to install fping from source, proceed as follows: - -0. Run ./autogen.sh - (only if you got the source from github) - -1. Run ./configure with the correct arguments - (see: ./configure --help) - -2. Run make; make install - -3. Make fping either setuid, or, if under Linux: - - sudo setcap cap_net_raw+ep fping - -4. Have a look at the fping(8) manual for usage help - (fping -h will also give a minimal help output) - - -IPv6 support ------------- -You can can compile fping with support for IPv6 addresses. A separate binary -is used for that, called fping6. To build it, use ./configure --enable-ipv6 -(possibly combined with --enable-ipv4 to also build fping for IPv4). E.g.: - - # ./configure --prefix=/usr/local --enable-ipv4 --enable-ipv6 - # make - # make install - # sudo setcap cap_net_raw+ep /usr/local/bin/fping* - - -Credits -------- -Original author: Roland Schemers (schemers@stanford.edu) -Previous maintainer: RL "Bob" Morgan (morgan@stanford.edu) -Initial IPv6 Support: Jeroen Massar (jeroen@unfix.org / jeroen@ipng.nl) -Other contributors: see ChangeLog diff --git a/ChangeLog b/doc/CHANGELOG.pre-v4 similarity index 86% rename from ChangeLog rename to doc/CHANGELOG.pre-v4 index 0d4ff40..fc9a0aa 100644 --- a/ChangeLog +++ b/doc/CHANGELOG.pre-v4 @@ -1,77 +1,3 @@ -2017-03-23 David Schweikert - * Version 4.0 - - * INCOMPATIBILE CHANGE: fping and fping6 unification - - 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. - - If you need exact compatibility with old versions, you can configure and - install fping twice: once for ipv4, and once for ipv6: - - ./configure --disable-ipv6; make clean install - - ./configure --disable-ipv4 --program-suffix=6; make clean install - - * INCOMPATIBILE CHANGE: -n option, not the same as -d anymore - - Option -n / --name is now doing a reverse-DNS lookups on host addresses, - only if 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 lookup on google.com, and then a reverse-DNS lookup on the - resolved IP address. Now, it is just going to keep the name 'google.com'. - That same behavior can be achieved with the option -d / --rdns (which was - previously an alias for -n). - - fping<4.0 fping>=4.0 - fping -n NAME NAME->IP->IPNAME NAME - fping -d NAME NAME->IP->IPNAME NAME->IP->IPNAME - - * INCOMPATIBILE CHANGE: discarding of 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 the - count and loop modes, where the measured times should be now more - consistent (see github issue #32 for details). - - To prevent loosing reply packets because of this change, the default - timeout in count and loop modes is now automatically adjusted to the - period interval (up to 2000 ms), but it can be overriden with the -t - option. The default timeout for non-loop/count modes remains 500 ms. - - * INCOMPATIBLE CHANGE: no restrictions by default - - fping will not enforce -i >= 1 and -p >= 10 anymore, except if you - './configure --enable-safe-limits'. - - 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). - - * INCOMPATIBLE CHANGE: default interval (-i) changed from 25ms to 10ms - - The default minimum interval between ping probes has been changed from - 25ms to 10ms. The reason is that 25ms is very high, considering today's - fast networks: it generates at most 31 kbps of traffic (for IPv4 and - default payload size). - - * (feature) Unified 'fping' and 'fping6' into one binary (#80) - * (feature) Long option names for all options - * (feature) --enable-ipv6 is now default - * (feature) New option -4 to force IPv4 - * (feature) New option -6 to force IPv6 - * (feature) Keep original name if a hostname is given with -n/--name - * (feature) Option -d/--rdns now always does a rdns-lookup, even for names - (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) - Thanks Christopher Wellons! - 2017-02-09 David Schweikert * Version 3.16 * (feature) Support kernel-timestamping of received packets (#46)