network_config: Sync default values
Change-Id: Ica6b2177138b30135c1a060475955a1ae53569e3
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/network_config.cpp b/src/network_config.cpp
index a2620a4..4f59643 100644
--- a/src/network_config.cpp
+++ b/src/network_config.cpp
@@ -36,12 +36,12 @@
"IPv6AcceptRA=true\n"
#else
"IPv6AcceptRA=false\n"
-
#endif
"[DHCP]\nClientIdentifier=mac\n"
"UseDNS=true\nUseDomains=true\n"
"UseNTP=true\nUseHostname=true\n"
- "SendHostname=true\n";
+ "SendHostname=true\n"
+ "[IPv6AcceptRA]\nDHCPv6Client=true\n";
filestream.close();
}
diff --git a/src/util.cpp b/src/util.cpp
index cad1ed8..7f55e2e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1,3 +1,5 @@
+#include "config.h"
+
#include "util.hpp"
#include "config_parser.hpp"
@@ -366,6 +368,12 @@
bool getIPv6AcceptRA(const config::Parser& config)
{
+#ifdef ENABLE_IPV6_ACCEPT_RA
+ constexpr bool def = true;
+#else
+ constexpr bool def = false;
+#endif
+
auto value = config.map.getLastValueString("Network", "IPv6AcceptRA");
if (value == nullptr)
{
@@ -374,7 +382,7 @@
config.getFilename().native());
log<level::NOTICE>(msg.c_str(),
entry("FILE=%s", config.getFilename().c_str()));
- return false;
+ return def;
}
auto ret = config::parseBool(*value);
if (!ret.has_value())
@@ -386,11 +394,13 @@
entry("FILE=%s", config.getFilename().c_str()),
entry("VALUE=%s", value->c_str()));
}
- return ret.value_or(false);
+ return ret.value_or(def);
}
EthernetInterfaceIntf::DHCPConf getDHCPValue(const config::Parser& config)
{
+ constexpr auto def = EthernetInterfaceIntf::DHCPConf::both;
+
const auto value = config.map.getLastValueString("Network", "DHCP");
if (value == nullptr)
{
@@ -399,7 +409,7 @@
config.getFilename().native());
log<level::NOTICE>(msg.c_str(),
entry("FILE=%s", config.getFilename().c_str()));
- return EthernetInterfaceIntf::DHCPConf::none;
+ return def;
}
if (config::icaseeq(*value, "ipv4"))
{
@@ -417,9 +427,10 @@
log<level::NOTICE>(str.c_str(),
entry("FILE=%s", config.getFilename().c_str()),
entry("VALUE=%s", value->c_str()));
+ return def;
}
- return ret.value_or(false) ? EthernetInterfaceIntf::DHCPConf::both
- : EthernetInterfaceIntf::DHCPConf::none;
+ return *ret ? EthernetInterfaceIntf::DHCPConf::both
+ : EthernetInterfaceIntf::DHCPConf::none;
}
namespace mac_address