diff options
author | Anton Tananaev <anton@traccar.org> | 2022-06-29 07:16:25 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2022-06-29 07:16:25 -0700 |
commit | d9f127b979ff52731552edecd1d0762c21eb4403 (patch) | |
tree | d652c69ead9761f7741031086fb46a4a9dad93f9 | |
parent | cd8ac19111d704e0257acc07ce104d47c857f778 (diff) | |
download | trackermap-server-d9f127b979ff52731552edecd1d0762c21eb4403.tar.gz trackermap-server-d9f127b979ff52731552edecd1d0762c21eb4403.tar.bz2 trackermap-server-d9f127b979ff52731552edecd1d0762c21eb4403.zip |
Better MAC address validation
-rw-r--r-- | src/main/java/org/traccar/protocol/B2316ProtocolDecoder.java | 3 | ||||
-rw-r--r-- | src/test/java/org/traccar/ProtocolTest.java | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/org/traccar/protocol/B2316ProtocolDecoder.java b/src/main/java/org/traccar/protocol/B2316ProtocolDecoder.java index a45c315b3..635806b2d 100644 --- a/src/main/java/org/traccar/protocol/B2316ProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/B2316ProtocolDecoder.java @@ -116,8 +116,9 @@ public class B2316ProtocolDecoder extends BaseProtocolDecoder { String[] points = item.getString("wi").split(";"); for (String point : points) { String[] values = point.split(","); + String mac = values[0].replaceAll("(..)", "$1:"); network.addWifiAccessPoint(WifiAccessPoint.from( - values[0].replaceAll("(..)", "$1:"), Integer.parseInt(values[1]))); + mac.substring(0, mac.length() - 1), Integer.parseInt(values[1]))); } } diff --git a/src/test/java/org/traccar/ProtocolTest.java b/src/test/java/org/traccar/ProtocolTest.java index 3e27bbe28..5e37f44b9 100644 --- a/src/test/java/org/traccar/ProtocolTest.java +++ b/src/test/java/org/traccar/ProtocolTest.java @@ -323,7 +323,7 @@ public class ProtocolTest extends BaseTest { if (position.getNetwork().getWifiAccessPoints() != null) { for (WifiAccessPoint wifiAccessPoint : position.getNetwork().getWifiAccessPoints()) { - assertTrue("validation failed for mac address with zero value", !wifiAccessPoint.getMacAddress().equals("0")); + assertTrue(wifiAccessPoint.getMacAddress().matches("((\\p{XDigit}{2}):){5}(\\p{XDigit}{2})")); } } } |