diff options
author | Karsten Elfenbein <karsten.elfenbein@googlemail.com> | 2018-05-26 21:00:09 +0200 |
---|---|---|
committer | Karsten Elfenbein <karsten.elfenbein@googlemail.com> | 2018-05-26 21:00:09 +0200 |
commit | dfe426e4e03b15fb2d7211d8e5837bb0e669f5fb (patch) | |
tree | e403de541ba56a773b710de9db70c5db1116bafc | |
parent | c0efba79c70ee537813efd333302dc588668cbce (diff) | |
download | infinitytier-dfe426e4e03b15fb2d7211d8e5837bb0e669f5fb.tar.gz infinitytier-dfe426e4e03b15fb2d7211d8e5837bb0e669f5fb.zip |
fix MAC address rule parsing as even/uneven switches at every colon
-rw-r--r-- | rule-compiler/rule-compiler.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rule-compiler/rule-compiler.js b/rule-compiler/rule-compiler.js index bd84824e..9cc4f76a 100644 --- a/rule-compiler/rule-compiler.js +++ b/rule-compiler/rule-compiler.js @@ -226,12 +226,16 @@ function _cleanMac(m) { m = m.toLowerCase(); var m2 = ''; + let charcount = 0; for(let i=0;((i<m.length)&&(m2.length<17));++i) { let c = m.charAt(i); if ("0123456789abcdef".indexOf(c) >= 0) { m2 += c; - if ((m2.length > 0)&&(m2.length !== 17)&&((m2.length & 1) === 0)) + charcount++; + if ((m2.length > 0)&&(m2.length !== 17)&&(charcount >= 2) ) { m2 += ':'; + charcount=0; + } } } return m2; |