Fixes
- Validate the length fields when parsing DVMRP
INFO_REQUEST. A request
claiming more data than the packet holds, and a full size packet of well
formed requests, both made the parser and the reply it builds run past the
buffers they work on. Reported by Tristan Madani - Fix route reports received on a
blasterinterface, which never survived the
replay. Queued reports were replayed with a negated length in asize_t
argument, wrapping it. Blaster support has not worked since v3.9.1. Reported
by Tristan Madani - Fix
mroutectlreading one byte before the start of its line buffer on a line
that holds nothing but newlines - Fix
mroutedexiting when an interface is deleted while another one is down.
The periodic interface check treats a failedSIOCGIFFLAGSas fatal, and it
only runs while some interface is known to be down
Changes
- Issue #39: allow the loopback interface to be used for routing. It has to be
multicast capable and carry a routable address, Linux sets up neither onlo
by default. The 127.0.0.0/8 address is skipped, and a loopback VIF is always
passive, no neighbor can be reached over it - Issue #63: new
mroutectl reload ifacescommand. It rescans the kernel
interface list, brings interfaces that have appeared since startup into
service, and takes the ones that are gone out of it, keeping the routes and
prunes already learned. Interfaces that did not change keep the VIF number
they had.mrouted.confis not re-read, an interface that needs settings
from it still calls for arestart. Original patch by Carlos Guimarães - Drop the container image,
ghcr.io/troglobit/mroutedis no longer updated.
mrouted needs the interfaces it routes between in its own network namespace,
which takes them away from the host, so the image was of little use