- memcpy(&srcx, net_src->data, sizeof srcx);
- memcpy(&dstx, net_dst->data, sizeof dstx);
- if ((srcx != ip_address[0] && srcx != ip_address[1]) ||
- (dstx != ip_address[0] && dstx != ip_address[1]) ||
- (srcport != tcp_port[0] && srcport != tcp_port[1]) ||
- (dstport != tcp_port[0] && dstport != tcp_port[1]))
+ memcpy(srcx, net_src->data, len);
+ memcpy(dstx, net_dst->data, len);
+ if (
+ ! (
+ memcmp(srcx, ip_address[0], len) == 0 &&
+ memcmp(dstx, ip_address[1], len) == 0 &&
+ srcport == tcp_port[0] &&
+ dstport == tcp_port[1]
+ ) &&
+ ! (
+ memcmp(srcx, ip_address[1], len) == 0 &&
+ memcmp(dstx, ip_address[0], len) == 0 &&
+ srcport == tcp_port[1] &&
+ dstport == tcp_port[0]
+ )
+ )