summaryrefslogtreecommitdiff
path: root/node/Capability.hpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2016-08-31 14:01:15 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2016-08-31 14:01:15 -0700
commit8e3004591bae72e20232200b74fe145f5574d02e (patch)
treed23e1d9b6d2ecf3fe604d0fd91c18b610a890142 /node/Capability.hpp
parent2ff2a8fd9ad195c11b2738306392802a323fb854 (diff)
downloadinfinitytier-8e3004591bae72e20232200b74fe145f5574d02e.tar.gz
infinitytier-8e3004591bae72e20232200b74fe145f5574d02e.zip
Add overlooked MATCH_ICMP to rule set.
Diffstat (limited to 'node/Capability.hpp')
-rw-r--r--node/Capability.hpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/node/Capability.hpp b/node/Capability.hpp
index 46fa9da6..f62ed30b 100644
--- a/node/Capability.hpp
+++ b/node/Capability.hpp
@@ -233,6 +233,12 @@ public:
b.append((uint8_t)1);
b.append((uint8_t)rules[i].v.ipProtocol);
break;
+ case ZT_NETWORK_RULE_MATCH_ICMP:
+ b.append((uint8_t)3);
+ b.append((uint8_t)rules[i].v.icmp.type);
+ b.append((uint8_t)rules[i].v.icmp.code);
+ b.append((uint8_t)rules[i].v.icmp.flags);
+ break;
case ZT_NETWORK_RULE_MATCH_IP_SOURCE_PORT_RANGE:
case ZT_NETWORK_RULE_MATCH_IP_DEST_PORT_RANGE:
b.append((uint8_t)4);
@@ -312,6 +318,11 @@ public:
case ZT_NETWORK_RULE_MATCH_IP_PROTOCOL:
rules[ruleCount].v.ipProtocol = (uint8_t)b[p];
break;
+ case ZT_NETWORK_RULE_MATCH_ICMP:
+ rules[ruleCount].v.icmp.type = (uint8_t)b[p];
+ rules[ruleCount].v.icmp.code = (uint8_t)b[p+1];
+ rules[ruleCount].v.icmp.flags = (uint8_t)b[p+2];
+ break;
case ZT_NETWORK_RULE_MATCH_IP_SOURCE_PORT_RANGE:
case ZT_NETWORK_RULE_MATCH_IP_DEST_PORT_RANGE:
rules[ruleCount].v.port[0] = b.template at<uint16_t>(p);