Update pingcheck to work with cmake 3.28
[pingcheck] / TODO
diff --git a/TODO b/TODO
index 05da108..af647b4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,32 +1,21 @@
-Wish List
-=======================================
-- TCP ping: Open connection to configurable port (HTTP, SMTP etc.).
+- Validate configuration input errors, adding validation for input values, with
+  more descriptive messages if the user enters wrong values.
 
-- IPv6 support. Remember to change the addressv4 to address, so both can work at
-  the same time.
-
-- Make it configurable if an IP should be reached by IPv4only or IPv6only or
-  IPv6first, IPv4first.
-
-- QoS-Flags of the ping packets should be configurable.
-
-- Implement a factory method to create the Pingers objects. Something like:
-  smart_ptr<Pinger> pinger_ptr = PingerCreator::create(PingerCreator::Boost)
-
-- Unit Test with boost::test.
-
-- Execute a libt2n call if XX hosts are down instead of a script.
+- Allows input error handling for values which are not strictly required. The
+  goal is avoid the annoying requirement to put "port" and "interval" at every
+  single host.
 
 - Make the configuration file reloadable (see bpdyndns).
 
-TODO
-=======================================
-- Make the log level configurable.
+In December 2014 / January 2015 did a lot of changes to ICMP pinger (IPv4) which were
+  not replicated in TCP pinger nor in ICMPv6 pinger. Should check if same changes 
+  need to be applied there, too. In particular, the scheduling of reply receive 
+  handlers in ICMP caused trouble, often encountered 'ghost' packages which were all
+  0s because a handler for an old echo request was triggered without new data.
 
-- In boost-net-dns/network_array.hpp fix the type-punning to enforce better type
-  checking. Also allows the optimization -O2 on GCC with strict-aliasing warning.
+Also, removed threads for each pingchecker, leaving only one thread with one 
+  io_service for all pingers. Tested that a lot with ICMP v4 pinger, but no other.
 
-Known Bugs
-=======================================
-- Ping to 127.0.0.1 doesn't work
-  (unknown ICMP reply)
+If the system time is changed backwards, the pingchecker freezes, including its signal
+  handler (boost asio's deadline_timer seems to work with time points on a non-monotonic
+  clock). Change that! (apparently, boost asio 1.49 introduces a steady_timer, try that)