|
|
|
|
@ -222,10 +222,10 @@ static json _renderRule(ZT_VirtualNetworkRule &rule)
|
|
|
|
|
break; |
|
|
|
|
case ZT_NETWORK_RULE_MATCH_ICMP: |
|
|
|
|
r["type"] = "MATCH_ICMP"; |
|
|
|
|
r["type"] = (unsigned int)rule.v.icmp.type; |
|
|
|
|
r["icmpType"] = (unsigned int)rule.v.icmp.type; |
|
|
|
|
if ((rule.v.icmp.flags & 0x01) != 0) |
|
|
|
|
r["code"] = (unsigned int)rule.v.icmp.code; |
|
|
|
|
else r["code"] = json(); |
|
|
|
|
r["icmpCode"] = (unsigned int)rule.v.icmp.code; |
|
|
|
|
else r["icmpCode"] = json(); |
|
|
|
|
break; |
|
|
|
|
case ZT_NETWORK_RULE_MATCH_IP_SOURCE_PORT_RANGE: |
|
|
|
|
r["type"] = "MATCH_IP_SOURCE_PORT_RANGE"; |
|
|
|
|
@ -401,8 +401,8 @@ static bool _parseRule(json &r,ZT_VirtualNetworkRule &rule)
|
|
|
|
|
return true; |
|
|
|
|
} else if (t == "MATCH_ICMP") { |
|
|
|
|
rule.t |= ZT_NETWORK_RULE_MATCH_ICMP; |
|
|
|
|
rule.v.icmp.type = (uint8_t)(_jI(r["type"],0ULL) & 0xffULL); |
|
|
|
|
json &code = r["code"]; |
|
|
|
|
rule.v.icmp.type = (uint8_t)(_jI(r["icmpType"],0ULL) & 0xffULL); |
|
|
|
|
json &code = r["icmpCode"]; |
|
|
|
|
if (code.is_null()) { |
|
|
|
|
rule.v.icmp.code = 0; |
|
|
|
|
rule.v.icmp.flags = 0x00; |
|
|
|
|
|