From: Hans Dedecker Date: Mon, 13 Jan 2014 16:42:19 +0000 (+0100) Subject: Fix interface ignore overwrite X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4d5d803c929092eb07db5717650224afbde59d55;p=oweals%2Fodhcpd.git Fix interface ignore overwrite Don't overwrite interface ignore uci parameter when resolving ifindex. Don't put interface in use when ifindex is unknown as interface cannot be setup and needs to be closed. --- diff --git a/src/config.c b/src/config.c index 46137a4..b6b3708 100644 --- a/src/config.c +++ b/src/config.c @@ -302,6 +302,9 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr if (ifname) strncpy(iface->ifname, ifname, sizeof(iface->ifname) - 1); + if ((iface->ifindex = if_nametoindex(iface->ifname)) <= 0) + return -1; + iface->inuse = true; if ((c = tb[IFACE_ATTR_DYNAMICDHCP])) @@ -494,7 +497,6 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr } } - iface->ignore = (iface->ifindex = if_nametoindex(iface->ifname)) <= 0; return 0; err: