summaryrefslogtreecommitdiff
path: root/node/Capability.hpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-02-28 09:22:10 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-02-28 09:22:10 -0800
commit2b10a982e9c9aad4a6ed9b10f5d7bda93a55ffcf (patch)
tree95645d1d1868f40986c648fe6d3c910b03622d65 /node/Capability.hpp
parent31bece7fa076cf1c5f21743a9a936ade54c0fe1a (diff)
downloadinfinitytier-2b10a982e9c9aad4a6ed9b10f5d7bda93a55ffcf.tar.gz
infinitytier-2b10a982e9c9aad4a6ed9b10f5d7bda93a55ffcf.zip
Match on tag sender equals or tag recipient equals.
Diffstat (limited to 'node/Capability.hpp')
-rw-r--r--node/Capability.hpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/node/Capability.hpp b/node/Capability.hpp
index d884625e..1ad6ea42 100644
--- a/node/Capability.hpp
+++ b/node/Capability.hpp
@@ -167,9 +167,6 @@ public:
// rules to be ignored but still parsed.
b.append((uint8_t)rules[i].t);
switch((ZT_VirtualNetworkRuleType)(rules[i].t & 0x3f)) {
- //case ZT_NETWORK_RULE_ACTION_DROP:
- //case ZT_NETWORK_RULE_ACTION_ACCEPT:
- //case ZT_NETWORK_RULE_ACTION_DEBUG_LOG:
default:
b.append((uint8_t)0);
break;
@@ -258,6 +255,9 @@ public:
case ZT_NETWORK_RULE_MATCH_TAGS_BITWISE_AND:
case ZT_NETWORK_RULE_MATCH_TAGS_BITWISE_OR:
case ZT_NETWORK_RULE_MATCH_TAGS_BITWISE_XOR:
+ case ZT_NETWORK_RULE_MATCH_TAGS_EQUAL:
+ case ZT_NETWORK_RULE_MATCH_TAG_SENDER:
+ case ZT_NETWORK_RULE_MATCH_TAG_RECEIVER:
b.append((uint8_t)8);
b.append((uint32_t)rules[i].v.tag.id);
b.append((uint32_t)rules[i].v.tag.value);
@@ -345,6 +345,8 @@ public:
case ZT_NETWORK_RULE_MATCH_TAGS_BITWISE_OR:
case ZT_NETWORK_RULE_MATCH_TAGS_BITWISE_XOR:
case ZT_NETWORK_RULE_MATCH_TAGS_EQUAL:
+ case ZT_NETWORK_RULE_MATCH_TAG_SENDER:
+ case ZT_NETWORK_RULE_MATCH_TAG_RECEIVER:
rules[ruleCount].v.tag.id = b.template at<uint32_t>(p);
rules[ruleCount].v.tag.value = b.template at<uint32_t>(p + 4);
break;