I copied the (void)strlcpy from somewhere, likely ifconfig originally. Thanks for pointing it out, I shall remove it before commit. I don't like that style and don't think it helps anything during review since one needs to check anyway that truncation either can't happen or doesn't matter.
On 1 December 2020 12:02:14 CET, Theo Buehler <t...@openbsd.org> wrote: >On Mon, Nov 30, 2020 at 05:46:57PM +0100, Florian Obser wrote: >> On Sun, Nov 29, 2020 at 12:20:31PM +0100, Florian Obser wrote: >> > >> > Let rad(8) handle all rdomains in a single daemon, similar to >previous >> > work in slaacd. >> > >> > Suggested / requested by tb who showed me previous work by reyk >which >> > unfortunately predated my work in slaacd and followed a different >> > pattern. >> > >> > There has already been a fair bit of testing and input from tb on >> > previous iterations. >> > >> > More tests, OKs? >> > >> >> Updated diff after some testing by tb@ >> >> - our AF_ROUTE socket needs a RTABLE_ANY ROUTE_TABLEFILTER otherwise >> we don't see link-local addresses arriving in rdomains != 0. >> - check if the arriving link-local address is tentative (or a >> douplicate) and ignore it because we can't use it and sendmsg >failes. >> Monitor RTM_CHGADDRATTR messages to see when the link-local address >> becomes valid > >Thank you so much for this! > >I think I have done all the testing I can for my use case and this now >looks all good. I think this covers most, if not all, code paths added >by this diff. I did as thorough a review as I can, being foreign to >this >part of the tree. > >ok tb > >I only have one tiny comment: > >> +++ frontend.c > >[...] > >> @@ -746,15 +743,29 @@ get_link_state(char *if_name) >> return ls; >> } >> >> +int >> +get_ifrdomain(char *if_name) >> +{ >> + struct ifreq ifr; >> + >> + (void) strlcpy(ifr.ifr_name, if_name, sizeof(ifr.ifr_name)); > >I'm not sure why you explicitly indicate that you don't want to check, >while you don't so in interface_has_linklocal_address() (both copy the >same name to an array of length IFNAMSIZ). -- Sent from a mobile device. Please excuse poor formating.