Skip to content

Commit

Permalink
netfilter: xt_hashlimit: use proto_ports_offset() to support AH message
Browse files Browse the repository at this point in the history
Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Changli Gao authored and David S. Miller committed Aug 20, 2010
1 parent 3d04ebb commit aca071c
Showing 1 changed file with 5 additions and 10 deletions.
15 changes: 5 additions & 10 deletions net/netfilter/xt_hashlimit.c
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,7 @@ hashlimit_init_dst(const struct xt_hashlimit_htable *hinfo,
{
__be16 _ports[2], *ports;
u8 nexthdr;
int poff;

memset(dst, 0, sizeof(*dst));

Expand Down Expand Up @@ -492,19 +493,13 @@ hashlimit_init_dst(const struct xt_hashlimit_htable *hinfo,
return 0;
}

switch (nexthdr) {
case IPPROTO_TCP:
case IPPROTO_UDP:
case IPPROTO_UDPLITE:
case IPPROTO_SCTP:
case IPPROTO_DCCP:
ports = skb_header_pointer(skb, protoff, sizeof(_ports),
poff = proto_ports_offset(nexthdr);
if (poff >= 0) {
ports = skb_header_pointer(skb, protoff + poff, sizeof(_ports),
&_ports);
break;
default:
} else {
_ports[0] = _ports[1] = 0;
ports = _ports;
break;
}
if (!ports)
return -1;
Expand Down

0 comments on commit aca071c

Please sign in to comment.