CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2015/04/19 06:56:42
Modified files: sbin/ping : ping.c Log message: by default fill the ping payload with a chacha stream instead of an unvarying payload. each ping process generates a random key, and each packet then uses the timestamps mac as the IV for the stream. this allows us to have a different payload per packet that we can recalculate and compare in the same was as the static payload was checked before. by aggressively varying the payload we hope to generate more opportunities for dodgy network equipment to show errors. note that we do siphash before chacha because we want to be strict about the timestamp payload, but we want to be able to recognise errors in the rest of the payload and where those errors were. doing chacha before siphash would have us than fail the whole packet if a checksum doesnt match. discussed with jp aumasson ok florian@