Download raw body.
dhcpleased(8): do not peek inside of struct imsg
> I went with changing the type to size_t to match what imsg_get_len(3)
> gives us. Since that function can't fail, it feels odd to do an error
> check that looks like checking for a failed function call.
Sure, that's a cleaner approach.
>
> >
> > I'd need to make a second pass with a fresh head
>
> here is an updated diff for your fresh head ;)
Looks all good now. Some tests with non-trivial configs would be nice,
but no objection if you want to drop it in and fix things in tree. I
don't think it's a big risk.
ok tb
> @@ -491,44 +493,48 @@ engine_dispatch_main(int fd, short event, void *bula)
> break;
> case IMSG_RECONF_VC_ID:
> if (iface_conf == NULL)
> - fatal("IMSG_RECONF_VC_ID without "
> + fatalx("IMSG_RECONF_VC_ID without "
> "IMSG_RECONF_IFACE");
should these messages include __func__ for consistency with most other
fatals in here?
I was wondering if it makes sense to make this slightly stricter and add:
if (iface_conf->vc_id != NULL)
fatalx("multiple IMSG_RECONF_VC_ID "
"for the same interface");
otherwise the following malloc() looks like a potential leak.
If you do this, of course C_ID and H_NAME should get the same treatment,
also in the frontend. All this would better be in a separate changeset.
dhcpleased(8): do not peek inside of struct imsg