On 2024-08-26 20:32 -07, Renato Aguiar <ren...@renatoaguiar.net> wrote: > Hi, > > I've been using the following configuration in /etc/dhcpleased.conf for > a while: > > interface iwx0 { > send no host name > } > > However, after updating to latest snapshot, the iwx0 interface isn't > getting IPv4 anymore and this message from dhcpleased is showing up in > /var/log/messages: > > dhcpleased[7225]: fatal in engine: engine_dispatch_main: invalid > IMSG_RECONF_VC_ID > dhcpleased[86713]: fatal in frontend: frontend_dispatch_main: invalid > IMSG_RECONF_VC_ID > > If I remove all configuration from /etc/dhcpleased.conf, dhcpleased > works as expected and assigns IPv4 to iwx0 interface.
Thanks for the report, I've just committed a fix: diff --git dhcpleased.c dhcpleased.c index 0a6a7e5946a..6cf8f5c139b 100644 --- dhcpleased.c +++ dhcpleased.c @@ -733,14 +733,18 @@ main_imsg_send_config(struct dhcpleased_conf *xconf) sizeof(*iface_conf)); main_imsg_compose_engine(IMSG_RECONF_IFACE, -1, iface_conf, sizeof(*iface_conf)); - main_imsg_compose_frontend(IMSG_RECONF_VC_ID, -1, - iface_conf->vc_id, iface_conf->vc_id_len); - main_imsg_compose_engine(IMSG_RECONF_VC_ID, -1, - iface_conf->vc_id, iface_conf->vc_id_len); - main_imsg_compose_frontend(IMSG_RECONF_C_ID, -1, - iface_conf->c_id, iface_conf->c_id_len); - main_imsg_compose_engine(IMSG_RECONF_C_ID, -1, - iface_conf->c_id, iface_conf->c_id_len); + if (iface_conf->vc_id_len) { + main_imsg_compose_frontend(IMSG_RECONF_VC_ID, -1, + iface_conf->vc_id, iface_conf->vc_id_len); + main_imsg_compose_engine(IMSG_RECONF_VC_ID, -1, + iface_conf->vc_id, iface_conf->vc_id_len); + } + if (iface_conf->c_id_len) { + main_imsg_compose_frontend(IMSG_RECONF_C_ID, -1, + iface_conf->c_id, iface_conf->c_id_len); + main_imsg_compose_engine(IMSG_RECONF_C_ID, -1, + iface_conf->c_id, iface_conf->c_id_len); + } if (iface_conf->h_name != NULL) main_imsg_compose_frontend(IMSG_RECONF_H_NAME, -1, iface_conf->h_name, strlen(iface_conf->h_name) + 1); > > Regards, > > -- > Renato Aguiar > -- In my defence, I have been left unsupervised.