Code

Bump version to 1.10.0; Update ChangeLog.
[liboping.git] / ChangeLog
index 74faeb362deacfa8ec60a250df5de3b652e771ae..7e59b434bce7111f7dfd69ff94dc0cf375b3a104 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,233 @@
+2017-05-11, Version 1.10.0:
+       * Build system: Search the "rt" library for clock_gettime(). This
+         fixes build issues on Mac OS X. Thanks to Yann E. Morni for this
+         fix. #9
+       * Build system: The "--with[out]-ncurses" option has been added and
+         allows to enforce/disable the building of "noping". Thanks to Thomas
+         Deutschmann for the patch. #15
+       * Build system: Compatibility code to work with pkg-config < 0.27 has
+         been added. #22
+       * liboping: Creation of ICMPv4 packets has been fixed: due to an
+         incorrect sizeof() the payload may have been prefixed by 20 zero
+         bytes, resulting in larger packets than desired. Thanks to Kyle Zhou
+         for reporting and fixing this. #10
+       * liboping: The number of file descriptors used has been reduced to at
+         most two (from one per host). This and a few other optimizations
+         significantly improve performance. Thanks to Luke Heberling for the
+         patch. #11
+       * oping, noping: Handling of the "-O" command line flag has been
+         fixed.
+       * oping, noping: The "-b" option has been added and enables a bell
+         whenever an echo reply is received. Thanks to Antoine Beaupré for
+         the patch. #6
+       * noping: The background color has been changed to use the terminal
+         default. Thanks to @middleO. #18
+       * noping: The ability to add hosts after noping has started (the "a"
+         key) has been added. Thanks to Hamish Coleman for the patch. #20,
+         #23
+
+2016-06-27, Version 1.9.0:
+       * liboping: The new "PING_OPT_MARK" option allows to mark packets,
+         which can be used for filtering and routing such packets on Linux.
+       * oping, noping: The new "-m" command line option allows to set a mark
+         on packets sent by the tool.
+       * oping, noping: The new "-O" command line option allows to write
+         measurements to an CSV file.
+       * oping, noping: The new "-w" command line option allows to specify
+         the timeout after which a packet/reply is considered "dropped".
+
+2014-11-20, Version 1.8.0:
+       * oping, noping: Average and standard deviation have been removed from
+         the status output, which show median and 95th percentile instead.
+         The percentile can be chosen with the "-P" option.
+       * noping: The additional graph types "histogram" and "boxplot" have
+         been added, which can be selected with the "-g" option.
+
+2014-09-25, Version 1.7.0:
+       * oping, noping: The new -Z option allows the exit status to indicate
+         the number of failing hosts. Thanks to Barak Pearlmutter for the
+         patch.
+       * noping: The ability to print a "prettyping" style graph has been
+         added. Thanks to Antoine Beaupré for his work!
+       * src/liboping.c: Build issues on Solaris have been fixed. Thanks
+         Scott Severtson for the fix!
+       * Build system: Creation and installation of a pkg-config file has
+         been added. Thanks to Barak Pearlmutter for the patch.
+
+2012-01-31, Version 1.6.2:
+       * Build system: Setting capabilities and the set-UID bit has been made
+         more fault-tolerant, so that it will work with Debian's fakeroot(1)
+         utility.
+       * src/liboping.c: Fixed a compiler warning about an non-static format
+         string. Thanks to Brian Edwards for pointing this out.
+       * src/liboping.c: Fixed compilation under Mac OS X and Solaris. Thanks
+         to Clayton O'Neill for his patch.
+
+2011-03-06, Version 1.6.1:
+       * Build system: If "make install" is executed as root, the CAP_NET_RAW
+         capability is added to the binary (on Linux) or the set-UID bit is
+         set (other Unixes).
+       * src/oping.c: Fix compiler warnings which may abort the build. Thanks
+         to James Bromberger for reporting the problem.
+       * noping: Compatibility with ncurses 5.8 has been fixed. Thanks to
+         Gaetan Bisson for his patch.
+
+2011-01-26, Version 1.6.0:
+       * liboping: Improve timing of received network packets using
+         SO_TIMESTAMP if available. Thanks to Bruno Prémont for his patch.
+
+2010-11-17, Version 1.5.1:
+       * oping, noping: Alias for the “Voice Admit” DSCP has been added.
+       * src/oping.c, src/liboping.c: Compiler warnings / errors have been
+         fixed. Thanks to James Bromberger for reporting one of them.
+
+2010-10-27, Version 1.5.0:
+       * src/liboping.c: The possibility to set the QoS byte of outgoing IPv4
+         and IPv6 packets and read the byte from incoming packets has been
+         added. Thanks to Vladimir Melnikov for his patch.
+       * oping, noping: Add the ability to configure the QoS field on the
+         command line. If either the QoS field of outgoing or incoming
+         packets is non-standard, the QoS byte of incoming packets will be
+         printed.
+       * liboping: The library has been relicensed under the LGPL 2.1.
+
+2010-06-13, Version 1.4.0:
+       * noping: A new front-end to liboping, using the ncurses library, has
+         been added. The new command line application displays ping
+         statistics online and highlights aberrant round-trip times.
+
+2009-12-20, Version 1.3.4:
+       * src/liboping.c: When one file descriptor was in an error state, the
+         select(2) loop would run indefinitely. Error handling has been
+         improved so the loop ends gracefully now in this case.
+       * src/liboping.c: Drop privileges before reading files if supported by
+         the system. This way files are opened using the user's original
+         privileges when using the “-f” option.
+       * Net::Oping: An off-by-one error has been fixed in the Perl bindings.
+         Thanks to Fredrik Soderblom for his patch.
+
+2009-09-29, Version 1.3.3:
+       * oping: Disable the “-f” option if the real and effective user IDs
+         don't match. If that is the case the program is probably running
+         SetUID and should not read foreign files. Unfortunately, dropping
+         privileges before reading the file is not possible, because they are
+         required for opening raw sockets.
+
+         Reading from STDIN using “-f -” is still possible.
+
+         Thanks to Steve Kemp for reporting this issue as Debian bug #548684.
+
+2009-07-27, Version 1.3.2:
+       * src/oping.h: Remove `HAVE_*_H' macros for system headers. Those
+         macros should not be used in system wide installed header files.
+         Thanks to Sebastian for fixing this.
+
+2009-07-20, Version 1.3.1
+       * src/liboping.c: Fix too eager argument validation that prevented the
+         library to work as documented. Thanks to Sebastian for catching this
+         bug.
+
+2009-07-18, Version 1.3.0
+       * oping: Documentation and messages have been improved.
+       * oping: Support for the `-D' command line option has been added.
+         Using this new option, the outgoing network device can be set.
+         Thanks to Sebastian Harl for the patch.
+       * src/liboping.c: The value of the `received TTL' information after
+         missing packets has been corrected.
+       * src/liboping.c: A bug when matching received packets to configured
+         hosts has been fixed. This regression was introduced after 1.0, we
+         believe. Thanks to Sebastian Harl for noticing and fixing this bug.
+       * src/liboping.c: Support for the `PING_OPT_DEVICE' option has been
+         added. This option can be used to set the outgoing network device.
+         Thanks to Sebastian for his patch.
+
+2009-07-15, Version 1.2.0
+       * `oping': Implement the `-f' command line option to read hostnames
+         from a file (or STDIN).
+       * src/liboping.c: No longer export `sstrerror'.
+
+2009-04-05, Version 1.1.2
+       * liboping.c: A NULL-pointer dereference has been fixed in the IPv4
+         code. This led to a segmentation fault when an ICMPv4 paket could
+         not be associated with any host. This usually happened when one or
+         more hosts were unreachable for some time. Thanks to Tomasz Pala for
+         discovering the problem and finding a way to reproduce it.
+
+2009-03-23, Version 1.1.1
+       * liboping.c: Use libxnet when available. The `normal' version of
+         `recvmsg' does not provide the `auxiliary data' on some or all
+         versions of Solaris.
+
+2009-03-15, Version 1.1.0
+       * liboping.c: Eliminate the use of `strerror' and use `strerror_r'
+         instead, removing the (hopefully) last thread-unsafe function.
+       * liboping.c: Provide the TTL of received IP packets.
+       * oping.c: Allow setting of the TTL using the `-t' command line
+         option.
+
+2009-02-17, Version 1.0.0
+       * oping.h: Provide the OPING_VERSION to easily determine the library's
+         version at compile time.
+       * liboping.c: Fixed an off-by-one error in `ping_iterator_get_info':
+         When determining the buffer size to hold the hostname, the function
+         would return one byte too little.
+       * liboping.c: Fix an incorrect assertion in `ping_timeval_add'. Thanks
+         to Alex Brooks for reporting the issue.
+       * liboping.c: Make sure `EAI_SYSTEM' is defined at compile time.
+         Although specified by POSIX, Cygwin apparently doesn't have it.
+       * liboping.c: Add compatibility code for AIX. Thanks to Doug
+         MacEachern for the patch.
+       * liboping.c: Store and possibly return the host name as provided by
+         the user.
+       * liboping.c: The number of timed out packets is now counted and can
+         be retrieved with `ping_iterator_get_info'.
+       * Perl bindings: The Net::Oping Perl package has been added to
+         bindings/ and is built along with liboping.
+
+2007-03-27, Version 0.3.5
+       * liboping.c: Close the filedescriptor in `ping_free', not
+         `ping_host_remove'. Thanks to Esteban Sanchez for submitting this
+         patch.
+       * oping.h: Include <sys/types.h> so that `size_t' is defined. Thanks
+         to Alex Brooks for pointing this out.
+       * oping.h: Use `extern "C"' when being used with C++. Thanks to Alex
+         Brooks for pointing this out.
+
+2006-12-01, Version 0.3.4
+       * Fixes a bug in `ping_host_remove': Due to an incorrect hostname
+         checking the wrong host would be removed.
+
+2006-07-16, Version 0.3.3
+       * `sendto(2)' now catches `EHOSTUNREACH' and `ENETUNREACH' if they're
+         defined.
+
+2006-07-13, Version 0.3.2
+       * `oping' now drops root privileges as soon as possible.
+       * `liboping' now contains an `soname' and a version.
+
+2006-07-09, Version 0.3.1
+       * Removed `libltdl' from the distribution since it's not used.
+       * More nonsense has been removed from the build system. Thanks to
+         Sebastian Harl for pointing it out :)
+
+2006-07-09, Version 0.3.0
+       * The ability to set the source address from which the packets
+         originate has been added to the library and the oping application.
+
+2006-07-16, Version 0.2.3
+       * `sendto(2)' now catches `EHOSTUNREACH' and `ENETUNREACH' if they're
+         defined.
+
+2006-06-05, Version 0.2.2
+       * The `oping' application didn't exit if no hosts could be resolved.
+         This release fixes it's behavior.
+
 2006-06-01, Version 0.2.1
+       * Fix the behavior for non GNU-Linux systems. liboping tried to
+         `bind(2)' to the raw-socket it uses to send ICMP packets. Apparently
+         (decided by majority vote ;) this is not the right thing to do.
+         GNU/Linux never complained about it, but works find without the bind.
+         Other operating systems don't work at all with the bind.
        * Build fixes for non-GNU/Linux platforms: Mac OS X doesn't define
          `size_t' as `unsigned int' and therefore needs casting and FreeBSD
          needs to have `sys/types.h' included before `netinet/*.h'