From 330c80f3f5958eb99b44632563dbe4dc0522120f Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 21 Jun 2016 08:09:20 -0700 Subject: Add rule type to match a COM field of the peer by ID and value because this will be powerful. --- node/NetworkConfig.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'node') diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp index d906005e..7b5318e4 100644 --- a/node/NetworkConfig.cpp +++ b/node/NetworkConfig.cpp @@ -250,6 +250,12 @@ bool NetworkConfig::toDictionary(Dictionary &d,b tmp.append((uint32_t)rules[i].v.tcpseq[0]); tmp.append((uint32_t)rules[i].v.tcpseq[1]); break; + case ZT_NETWORK_RULE_MATCH_COM_FIELD_GE: + case ZT_NETWORK_RULE_MATCH_COM_FIELD_LE: + tmp.append((uint8_t)16); + tmp.append((uint64_t)rules[i].v.comIV[0]); + tmp.append((uint64_t)rules[i].v.comIV[1]); + break; } } if (tmp.size()) { @@ -469,6 +475,11 @@ bool NetworkConfig::fromDictionary(const Dictionary(p); rules[ruleCount].v.tcpseq[1] = tmp.at(p + 4); break; + case ZT_NETWORK_RULE_MATCH_COM_FIELD_GE: + case ZT_NETWORK_RULE_MATCH_COM_FIELD_LE: + rules[ruleCount].v.comIV[0] = tmp.at(p); + rules[ruleCount].v.comIV[1] = tmp.at(p + 8); + break; } p += fieldLen; ++ruleCount; -- cgit v1.2.3