Bug 817203 - Time to update fping to version 3?
Time to update fping to version 3?
Status: ASSIGNED
Product: Fedora EPEL
Classification: Fedora
Component: fping (Show other bugs)
el6
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Charles R. Anderson
Fedora Extras Quality Assurance
:
: 850995 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-27 22:38 EDT by Christopher Meng
Modified: 2015-07-29 01:27 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Christopher Meng 2012-04-27 22:38:51 EDT
https://raw.github.com/schweikert/fping/master/ChangeLog


Thu Apr 26 2012
David Schweikert <david@schweikert.ch>
- Revision v3.1
  * -g option (generate): exclude network and broadcast address for cidr
    ranges (idea by Eric Brander)
  * do not explicitely check if running as root, to make it possible to
    install fping with linux capabilities instead of making it setuid
    (setcap cap_net_raw+ep fping)
  * ANSI C (C89) compiler now a requirement
  * Portability fixes
  * Reorganized source directory
  * Bugfix: fix timeout issue on Solaris (Sandor Geller)
  * Man-page fixes (Axel Beckert)
  * Added -H option to specify number of hops (Paul Duda)
  * Output usage information to stdout when called with -h (Paul Duda)

Thu Dec 28 2011
David Schweikert <david@schweikert.ch>
- Revision v3.0
  * rewritten main loop for improved performance
  * -T parameter (select timeout) now obsolete
  * Maintenance taken over from unresponsive previous maintainer
    (anybody please step up, if you disagree)
  * New homepage: www.fping.org

Mon Dec 21 2009
Tobi Oetiker <tobi@oetiker.ch>
- Revision v2.4b2-to3-ipv6
  * added -On option to set the TOS octet
  * Removed unused variables from code
  * updated to current autoconf standards
  * Merged Debian changes (see below)
  
----------------------------------------------------------------------

fping (2.4b2-to-ipv6-16.1) unstable; urgency=low

  * NMU during Moenchengladbach BSP
  * Fixes FTBFS on kfreebsd (Closes: #555398)
  * Fixes typo "Paramter" in binary

 -- Axel Beckert <abe@deuxchevaux.org>  Sat, 23 Jan 2010 16:22:02 +0100 

fping (2.4b2-to-ipv6-16) unstable; urgency=low

  * Fix the following bugs
    - Network byte order sensitivity was missing completely.
      Added hopefully all missing calls.
    - The sequence numbering scheme used led to packet drops.
      Changed it to a more senseful numbering scheme.
    - Some minor C programming mistakes ('=' instead of '==').
    Patch by Stephan Fuhrmann; closes: #502569
  * Add support for command line select timeout setting
    Patch by Marton Balint; closes: #502575
  * Remove symlinks in /usr/sbin; closes: #377732
  * Standards-Version is 3.8.0

 -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 18 Oct 2008 12:04:52 +1100

fping (2.4b2-to-ipv6-15) unstable; urgency=low

  * Added interface binding (-I) for fping
    Patch by Peter Naulls <peter@mushroomnetworks.com>
    Closes: #439014
  * Fixed a couple of typos in fping.8. Closes: #423180
  * Added homepage control header
  * Bumped Standards-Version to 3.7.3
  * Fixed the following lintian issue:
    - debian-rules-sets-DH_COMPAT

 -- Anibal Monsalve Salazar <anibal@debian.org>  Mon, 03 Mar 2008 17:46:17 +1100

fping (2.4b2-to-ipv6-13) unstable; urgency=low

  * Fixed stdout flush problem, closes: #340146.
    Patch by Bart Martens <bart.martens@advalvas.be>.

 -- Anibal Monsalve Salazar <anibal@debian.org>  Fri, 30 Dec 2005 08:30:09 +1100

fping (2.4b2-to-ipv6-12) unstable; urgency=low

  * Fixed "problem with option -r (retry limit)", closes: #318402.
    Patch by Qingning Huo <qingningh@lanware.co.uk>.

 -- Anibal Monsalve Salazar <anibal@debian.org>  Sat, 08 Oct 2005 21:26:35 +1000

fping (2.4b2-to-ipv6-11) unstable; urgency=low

  * Fixed "would be useful to specify 'source address' like ping for multi
    homed machines", closes: #198486.
    Patch by Marc Haber <mh+debian-bugs@zugschlus.de>.

 -- Anibal Monsalve Salazar <anibal@debian.org>  Thu, 02 Jun 2005 08:14:54 +1000

fping (2.4b2-to-ipv6-10) unstable; urgency=low

  * Fixed "unnecessary delay with the -c option after the last packet"
    (Closes: #293856). Patch by Niko Tyni <ntyni@iki.fi>

 -- Anibal Monsalve Salazar <anibal@debian.org>  Sun, 06 Feb 2005 23:25:57 +1100

fping (2.4b2-to-ipv6-9) unstable; urgency=low

  * Fixed "fping6 always does reverse lookup" (Closes: #273647).
    Patch by Jeroen Massar and forwarded by Bernhard Schmidt <berni@birkenwald.de>

 -- Anibal Monsalve Salazar <A.Monsalve.Salazar@IEEE.org>  Mon, 10 Jan 2005 00:01:32 +1100

fping (2.4b2-to-ipv6-7) unstable; urgency=low

  * Build fping in build/ipv[46] instead of build and build-ipv6.
  * Made DNS errors non-fatal for IPv6 (closes: #198056).

 -- Herbert Xu <herbert@debian.org>  Fri, 20 Jun 2003 21:36:30 +1000

fping (2.4b2-to-ipv6-6) unstable; urgency=low

  * Do not use incorrect linux.h file (closes: #85468).

 -- Herbert Xu <herbert@debian.org>  Sat, 17 May 2003 14:13:11 +1000

fping (2.4b2-to-ipv6-5) unstable; urgency=low

  * Fixed yet another divide by zero bug (closes: #148445).

 -- Herbert Xu <herbert@debian.org>  Tue,  4 Jun 2002 12:18:03 +1000

fping (2.4b2-to-ipv6-4) unstable; urgency=low

  * Made fping6 setuid (closes: #136386).
  * Moved fping back into bin.
  * Partially applied IPv6 patch to fix IPv6 checksums (closes: #136479).

 -- Herbert Xu <herbert@debian.org>  Sun,  7 Apr 2002 20:36:56 +1000

fping (2.4b2-to-ipv6-3) unstable; urgency=low

  * Added compatibility symlink for fping (closes: #135203).

 -- Herbert Xu <herbert@debian.org>  Sat, 23 Feb 2002 08:34:11 +1100

fping (2.4b2-to-ipv6-2) unstable; urgency=low

  * Fixed another divide by zero error (closes: #132370).

 -- Herbert Xu <herbert@debian.org>  Thu,  7 Feb 2002 20:10:48 +1100

fping (2.4b2-to-ipv6-1) unstable; urgency=low

  * New upstream release.
  * Install fping into sbin as done by upstream.

 -- Herbert Xu <herbert@debian.org>  Fri,  1 Feb 2002 22:11:59 +1100

fping (2.2b2-3) unstable; urgency=low

  * Removed INSTALL file from package (closes: #84050).
  * Fixed alignment bug.

 -- Herbert Xu <herbert@debian.org>  Sat, 10 Feb 2001 19:25:18 +1100

fping (2.2b2-2) unstable; urgency=low

  * Made changes for dpkg-statoverride (closes: #83838).

 -- Herbert Xu <herbert@debian.org>  Sun, 28 Jan 2001 21:53:05 +1100

fping (2.2b2-1) unstable; urgency=low

  * New upstream release.
  * Fixed typo that prevented -d from working (closes: #83255).
  * Drop root privileges after opening the socket (closes: #81589).
  * Fixed the options [tip], they were out by a factor of 10
    (Richard Kettlewell, closes: #83742).

 -- Herbert Xu <herbert@debian.org>  Sun, 28 Jan 2001 00:09:41 +1100

fping (2.2b1-2) unstable; urgency=low

  * Fixed typo in control file, spotted by William Ono (closes: #49909).

 -- Herbert Xu <herbert@debian.org>  Mon, 15 May 2000 12:27:03 +1000

fping (2.2b1-1) unstable; urgency=low

  * Initial release.
  * Fixed divide by zero error (closes: #29902).

 -- Herbert Xu <herbert@debian.org>  Sat, 30 Oct 1999 16:36:19 +1000
---------------------------------------------------------------------------------

Wed Jan 16 2002
Jeroen Massar
- Revision v2.4b2-to-IPv6
   - Added IPv6 support.
   - Added -I option for selecting source IPv4/IPv6 address.
   - Makefile.in now generates a Makefile which will build both 
     fping (IPv4) and fping6 (IPv6). Thus it makes an fping (IPv4 only)
     and an fping6 (IPv6 only).
   - num_unreachable was counted twice when a sendto() generated errors.
   - See http://unfix.org/projects/ipv6/ 

Tue Mar 14 2001
Jason Ewasiuk <jasone@remote.net>
- Revision v2.4b1
	- added -g option for generating IPs from a start to an end value
		- two available options, generate IPs from start IP to end IP
		  or from a passed netmask, such as 192.168.1.0/24

Thu Feb 15 2001
Jason Ewasiuk <jasone@remote.net>
- Revision v2.3b1
	- formatting changes to code layout (fping.c)
	NOTE:  Best viewed with a tab stop of 4
	- merged in changes from Debian c/o Herbert Xu
	<herbert@gondor.apana.org.au>
		- Compilation fix on alphas with glibc
		- Alignment issues (note from JE:  in wait_for_reply())
		- A typo with the time specified on the command line
		(note from JE:  bug was using 10 instead of 100)
		- Drop privileges after obtaining socket
		(note from JE:  might be moot, since prog exits if
		user is not root)
	- touched all files in package to this date
	- couple new #ifdefs added for future WIN32 support
	(Haven't got to adding this yet, will take a lot of rewriting.)

Fri Dec  8 10:33:13 2000  Roland Schemers  <schemers@stanford.edu>

	* stop using sys_errlist and start using strerror
	fixed bug in output of -C

Wed Jan  8 11:18:37 1997  Roland Schemers  <schemers@stanford.edu>

	* Created ChangeLog file. What follows was from the CHANGES file.

* Revision 2.0  1994/10/31 21:26:23 morgan

  Substantial rewrite, including new features:

    support some traditional ping features:
      loop mode
      specify size of data packets
      specify how many pings to send
      show per-response data
      interpret ICMPs other than ICMP Echo response

  also

    rewrote main loop completely
    make timings in tenths of milliseconds
    do exponential backoff on retries
    port to more systems
    add some debugging stuff
    do better checking on whether received ICMP is for us

* Revision 1.24  1993/12/10  23:11:39  schemers

  commented out seteuid(getuid()) since it isn't needed

* Revision 1.23  1993/12/10  18:33:41  schemers

  Took out the -f option for non-root users. This can be enabled by
  defining ENABLE_F_OPTION before compiling. There is a call to
  access before opening the file, but there is a race condition.
  Reading from stdin is much safer.


* Revision 1.22  1993/11/16  19:49:24  schemers

  Took out setuid(getuid()) and used access() system call to
  check for access to the file specified with "-f".
 
* Revision 1.21  1993/07/20  18:08:19  schemers

  commented out the test to make sure the ping packet came from the
  same IP address as the one we sent to. This could cause problems on
  multi-homed hosts.

* Revision 1.20  1993/02/23  00:16:38  schemers

fixed syntax error (should have compiled before checking in...)

* Revision 1.19  1993/02/23  00:15:15  schemers

turned off printing of "is alive" when -a is specified.

* Revision 1.18  1992/07/28  15:16:44  schemers

added a fflush(stdout) call before the summary is sent to stderr, so
everything shows up in the right order.

* Revision 1.17  1992/07/23  03:29:42  schemers
* Revision 1.16  1992/07/22  19:24:37  schemers

Fixed declaration of timeval_diff. Didn't notice the problem because
I use 'cc' in stead of gcc under Ultrix. Time to switch? :-)

Modified file reaing so it would skip blank lines or lines starting
with a '#'. Now you can do something like:

fping -ad < /etc/hosts

* Revision 1.15  1992/07/21  17:07:18  schemers

Put in sanity checks so only root can specify "dangerous" options.
Changed usage to show switchs in alphabetical order.
* Revision 1.14  1992/07/21  16:40:52  schemers
* Revision 1.13  1992/07/17  21:02:17  schemers

Changed the default timeout to 2500 msec, and retry to 3. This was
due to suggestions from people with slow (WAN) networks. The default
1 sec timeout was too fast.


Added '-e' option for showing elapsed (round-trip) times on pakets, and
modified the -s option to include min, max, and average round-trip times,
and over all elapsed time.

Modified action taken when a error is returned from sendto. The action
taken now considers the host unreachable and prints the hostname 
followed by the errno message. The program will not exit and will continue
to try other hosts.

* Revision 1.12  1992/07/17  16:38:54  schemers
* Revision 1.11  1992/07/17  16:28:38  schemers

 move socket create call so I could do a setuid(getuid()) before the
 fopen call is made. Once the socket is created root privs aren't needed
 to send stuff out on it.

 moved num_timeout counter. It really was for debug purposes and didn't
 make sense to the general public :-) Now it is the number of timeouts
 (pings that didn't get received with the time limit).


* Revision 1.10 1992/07/16  16:24:38  schemers
* Revision 1.9  1992/07/16  16:00:04  schemers
* Revision 1.8  1992/07/16  05:44:41  schemers

Added _NO_PROTO stuff for older compilers, and _POSIX_SOURCE
for unistd.h, and _POSIX_SOURCE for stdlib.h. Also added
check for __cplusplus.

Now compiles ok under Ultrix 3.1, and Sun4 using cc. Also compiled
ok using g++ 2.2.2.

Changed '-a' and '-u' flags to be mutually exclusive (makes sense, since
specifiying both '-a' and '-u' is the same as not specifiying anything.
Since '-a' and '-u' are mutually exclusive, these options now only print
the hostname, and not the 'is alive' or 'is unreachable'  messages.
This makes it much easier to do stuff like:

#!/usr/local/bin/perl
$hosts_to_backup=`cat /etc/hosts.backup|fping -a`;

Since you don't have to strip off the 'is alive' messages.

Changed usage to and stats to print to stderr instead of stdout.

-----------------------------------------------------------------------------

RCS header info from original fping.c package (no longer required)

/* 
 ***************************************************
 *
 * Standard RCS Header information (see co(1))
 *
 * $Author: schemers $
 *
 * $Date: 1997/01/08 20:29:33 $
 *
 * $Revision: 2.2 $
 *
 * $Locker:  $
 *
 * $Source: /afs/ir/group/networking/src/fping/fping-2.2/src/RCS/fping.c,v $
 *
 * $State: Exp $
 *
 * $Log: fping.c,v $
 *
 * Revision 2.2  1997/01/08 20:29:33  schemers
 * changes for autoconf/automake
 *
 * Revision 2.1  1997/01/08 19:07:18  schemers
 * checked in RL "Bob"'s changes before configure'ing
 *
 * Revision 2.0  1994/10/31  21:26:23  schemers
 * many changes by RL "Bob" Morgan
 *   add timing data collection, loop mode, per-packet output, etc
 *
 * Revision 1.24  1993/12/10  23:11:39  schemers
 * commented out seteuid(getuid()) since it isn't needed
 *
 * Revision 1.23  1993/12/10  18:33:41  schemers
 * Took out the -f option for non-root users. This can be enabled by
 * defining ENABLE_F_OPTION before compiling. There is a call to
 * access before opening the file, but there is a race condition.
 * Reading from stdin is much safer.
 *
 * Revision 1.22  1993/11/16  19:49:24  schemers
 * Took out setuid(getuid()) and used access() system call to
 * check for access to the file specified with "-f".
 *
 * Revision 1.21  1993/07/20  18:08:19  schemers
 * commented out the test to make sure the ping packet came from the
 * same IP address as the one we sent to. This could cause problems on
 * multi-homed hosts.
 *
 * Revision 1.20  1993/02/23  00:16:38  schemers
 * fixed syntax error (should have compiled before checking in...)
 *
 * Revision 1.19  1993/02/23  00:15:15  schemers
 * turned off printing of "is alive" when -a is specified.
 *
 * Revision 1.18  1992/07/28  15:16:44  schemers
 * added a fflush(stdout) call before the summary is sent to stderr, so
 * everything shows up in the right order.
 *
 * Revision 1.17  1992/07/23  03:29:42  schemers
 * fixed declaration of timeval_diff.
 *
 * Revision 1.16  1992/07/22  19:24:37  schemers
 * Modified file reading so it would skip blanks lines or lines starting
 * with a '#'. Now you can do something like:
 *
 * fping -ad < /etc/hosts
 *
 * Revision 1.15  1992/07/21  17:07:18  schemers
 * Put in sanity checks so only root can specify "dangerous" options.
 * Changed usage to show switchs in alphabetical order.
 *
 * Revision 1.14  1992/07/21  16:40:52  schemers
 * Now when sendto returns an error, the host is considered unreachable and
 * and the error message (from errno) is displayed.
 *
 * Revision 1.13  1992/07/17  21:02:17  schemers
 * changed default timeout to 2500 msec (for WANs), and default try
 * to 3. This gives 10 second overall timeout.
 *
 * Added -e option for showing elapsed (round-trip) time on packets
 *
 * Modified -s option to inlude to round-trip stats
 *
 * Added #ifndef DEFAULT_* stuff its easier to change the defaults
 *
 * Reorganized main loop.
 *
 * cleaned up timeval stuff. removed set_timeval and timeval_expired
 * since they aren't needed anymore. Just use timeval_diff.
 *
 * Revision 1.12  1992/07/17  16:38:54  schemers
 * move socket create call so I could do a setuid(getuid()) before the
 * fopen call is made. Once the socket is created root privs aren't needed
 * to send stuff out on it.
 *
 * Revision 1.11  1992/07/17  16:28:38  schemers
 * moved num_timeout counter. It really was for debug purposes and didn't
 * make sense to the general public :-) Now it is the number of timeouts
 * (pings that didn't get received with the time limit).
 *
 * Revision 1.10  1992/07/16  16:24:38  schemers
 * changed usage() to use fprintf(stderr,"...");
 *
 * Revision 1.9  1992/07/16  16:00:04  schemers
 * Added _NO_PROTO stuff for older compilers, and _POSIX_SOURCE
 * for unistd.h, and _POSIX_SOURCE for stdlib.h. Also added
 * check for __cplusplus.
 *
 * Revision 1.8  1992/07/16  05:44:41  schemers
 * changed -a and -u to only show hostname in results. This is
 * for easier parsing. Also added -v flag
 *
 * Revision 1.7  1992/07/14  18:45:23  schemers
 * initialized last_time in add_host function
 *
 * Revision 1.6  1992/07/14  18:32:40  schemers
 * changed select to use FD_ macros
 *
 * Revision 1.5  1992/07/14  17:21:22  schemers
 * standardized exit status codes
 *
 * Revision 1.4  1992/06/26  15:25:35  schemers
 * changed name from rrping to fping
 *
 * Revision 1.3  1992/06/24  15:39:32  schemers
 * added -d option for unreachable systems
 *
 * Revision 1.2  1992/06/23  03:01:23  schemers
 * misc fixes from R.L. "Bob" Morgan
 *
 * Revision 1.1  1992/06/19  18:23:52  schemers
 * Initial revision
 *
 *--------------------------------------------------
 * Copyright (c) 1992, 1994, 1997 Board of Trustees
 *            Leland Stanford Jr. University
 ***************************************************
 */
Comment 1 Charles R. Anderson 2012-08-31 03:50:02 EDT
*** Bug 850995 has been marked as a duplicate of this bug. ***
Comment 2 Charles R. Anderson 2012-09-25 20:17:31 EDT
If you are interested in testing fping-3, I have made builds here:

EL6:

http://koji.fedoraproject.org/koji/buildinfo?buildID=355982

EL5:

http://koji.fedoraproject.org/koji/buildinfo?buildID=355986

Extra testing before I push these to EPEL repos would be appreciated.  Thanks.
Comment 3 Christopher Meng 2012-09-26 04:28:51 EDT
I just test it.Seems OK.
Comment 4 Christopher Meng 2012-10-22 14:46:46 EDT
?
Comment 5 Charles R. Anderson 2013-06-02 16:39:29 EDT
I just want to put here on the record that I have been having problems with fping-3 on EL5.  I had been running it on my production nagios & autostatus server, but it seems to be dying during heavy usage which causes false downtime alerts in autostatus.  That is why I haven't pushed an update to EPEL5 or EPEL6 yet.  I need to do more testing before opening a bug report on this, and also retest with fping-3.5.
Comment 6 Charles R. Anderson 2013-06-02 16:40:29 EDT
I just want to put here on the record that I have been having problems with fping-3 on EL5.  I had been running it on my production nagios & autostatus server, but it seems to be dying during heavy usage which causes false recovery alerts in autostatus (i.e. things that have been un-pingable all of a sudden come back as up from fping, but they really aren't up).  That is why I haven't pushed an update to EPEL5 or EPEL6 yet.  I need to do more testing before opening a bug report on this, and also retest with fping-3.5.
Comment 7 Japheth Cleaver 2013-06-20 01:00:33 EDT
There was a recent bug fix in 3.5 that may have solved the problem you were experiencing. It did on our Icinga/Xymon server.
Comment 8 Japheth Cleaver 2014-02-08 17:32:05 EST
This has been running pretty well in Fedora for a while now. Any chance it can be rebased in EPEL at this point?
Comment 9 Charles R. Anderson 2015-07-29 01:27:05 EDT
I'm keeping epel7 updated, but I hesitate to change the major version in el6 from 2.4 to 3.x due to the EPEL Updates Policy:

https://fedoraproject.org/wiki/EPEL_Updates_Policy

"All updates should strive to avoid situations that require manual intervention to keep the package functioning after update. 
 Major updates with changes to user experence are to be avoided."

Here is a build of fping 3.10 for el6:

http://koji.fedoraproject.org/koji/buildinfo?buildID=673200

Note You need to log in before you can comment on or make changes to this bug.