From 1a691255e36eb42648b3d1beaa1901b19d61cb1c Mon Sep 17 00:00:00 2001 From: John Sharratt Date: Sat, 1 Jul 2017 13:16:06 +0200 Subject: [PATCH] Now properly exiting if any of the interfaces are not opened rather than silently continuing --- src/ndppd.cc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/ndppd.cc b/src/ndppd.cc index 1bd35b6..b176501 100644 --- a/src/ndppd.cc +++ b/src/ndppd.cc @@ -150,9 +150,8 @@ static bool configure(ptr& cf) } ptr pr = proxy::open(*pr_cf); - - if (!pr) { - return true; + if (!pr || pr.is_null() == true) { + return false; } if (!(x_cf = pr_cf->find("router"))) @@ -189,8 +188,14 @@ static bool configure(ptr& cf) address addr(*ru_cf); - if (x_cf = ru_cf->find("iface")) { - pr->add_rule(addr, iface::open_ifd(*x_cf)); + if (x_cf = ru_cf->find("iface")) + { + ptr ifa = iface::open_ifd(*x_cf); + if (!ifa || ifa.is_null() == true) { + return false; + } + + pr->add_rule(addr, ifa); } else if (ru_cf->find("auto")) { pr->add_rule(addr, true); } else {