diff -dPNur netams-3.2.3/src/policy.c netams-3.2.3-ranges/src/policy.c --- netams-3.2.3/src/policy.c 2005-02-24 11:58:13.000000000 +0100 +++ netams-3.2.3-ranges/src/policy.c 2005-07-25 23:52:32.000000000 +0200 @@ -32,6 +32,8 @@ target.num_ports=0; for (u_char i=0; imax_port) max_port = 0; + } else max_port = 0; + target.max_ports[j] = htons(max_port); switch (tgt[j+*i+1][0]) { case 's': @@ -358,11 +372,26 @@ if(target.num_ports) sprintf(buf+strlen(buf), "ports "); for (u_char i=0; isrcport)>ntohs(target.src_ports[i]))&&(ntohs(flow->srcport)<=ntohs(target.max_ports[i])))|| + ((target.dst_ports[i])&&(ntohs(flow->dstport)>ntohs(target.dst_ports[i]))&&(ntohs(flow->dstport)<=ntohs(target.max_ports[i])))) { + res=1; + break; + } + } + } if(!res) return 0; } diff -dPNur netams-3.2.3/src/policy.h netams-3.2.3-ranges/src/policy.h --- netams-3.2.3/src/policy.h 2005-01-17 15:13:21.000000000 +0100 +++ netams-3.2.3-ranges/src/policy.h 2005-07-25 23:30:40.000000000 +0200 @@ -86,6 +86,8 @@ u_char num_ports; u_short src_ports[PC_MAX_PORTS]; u_short dst_ports[PC_MAX_PORTS]; + + u_short max_ports[PC_MAX_PORTS]; //PC_IP_TOS u_char ip_tos;