From: Ansuel Smith Date: Mon, 7 Dec 2020 16:57:49 +0000 (+0100) Subject: rpcd-mod-luci: strip colon from dnsmasq duid X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f71e9cbd42db24c7743589804dacfdf5513ca883;p=project%2Fluci.git rpcd-mod-luci: strip colon from dnsmasq duid Dnsmasq DHCPv6 use colons in the generated duid present in the lease file. Strip the colon as this is not supported by the OpenWrt config and follow the same way odhcpd use to display duid. Fixes: #4543 Signed-off-by: Ansuel Smith --- diff --git a/libs/rpcd-mod-luci/src/luci.c b/libs/rpcd-mod-luci/src/luci.c index 8b56dce6b7..d9e2ab79ce 100644 --- a/libs/rpcd-mod-luci/src/luci.c +++ b/libs/rpcd-mod-luci/src/luci.c @@ -329,6 +329,15 @@ duid2ea(const char *duid) return &ea; } +static void strip_colon_duid(char *str) { + char *pr = str, *pw = str; + + while (*pr) { + *pw = *pr++; + pw += (*pw != ':'); + } + *pw = '\0'; +} static struct { time_t now; @@ -592,6 +601,8 @@ lease_next(void) if (!e.hostname || !e.duid) continue; + strip_colon_duid(e.duid); + if (!strcmp(e.hostname, "*")) e.hostname = NULL;