summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNagaraju Goruganti <ngorugan@in.ibm.com>2017-10-31 04:40:12 -0500
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2017-11-06 18:12:21 +0000
commit98fc5881eefde10312b057eaed659f8d3138efa4 (patch)
tree4a48bc7b4cadd6bd73deb2a50ca16b48dfa83a37
parentd75f0497cd92042d4e2dba8662df9ff7e661d0be (diff)
downloadphosphor-networkd-98fc5881eefde10312b057eaed659f8d3138efa4.tar.gz
phosphor-networkd-98fc5881eefde10312b057eaed659f8d3138efa4.zip
Fix MAC Address validation
MAC Address validate method is retruning true for address: 00:00:00:00:00:00 which is an invalid address. Resolves openbmc/openbmc#2333 Change-Id: Ida6c84855abeb11c95673087a8b361f151b0a3bc Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
-rw-r--r--util.hpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/util.hpp b/util.hpp
index 7e48383..de0221a 100644
--- a/util.hpp
+++ b/util.hpp
@@ -17,6 +17,7 @@ constexpr auto IPV4_MAX_PREFIX_LENGTH = 32;
constexpr auto IPV6_MAX_PREFIX_LENGTH = 64;
constexpr auto IPV4_PREFIX = "169.254";
constexpr auto IPV6_PREFIX = "fe80";
+constexpr auto ZEROMACADDRESS = "00:00:00:00:00:00";
namespace mac_address
{
@@ -35,7 +36,8 @@ constexpr size_t size = 18;
inline bool validate(const std::string& value)
{
std::regex regexToCheck(regex);
- return std::regex_search(value, regexToCheck);
+ return std::regex_search(value, regexToCheck) &&
+ value.find(ZEROMACADDRESS) != 0;
}
/** @brief gets the MAC address from the Inventory.
OpenPOWER on IntegriCloud