Fix interface matching by ipfw table

Submitted by:     Ihor Kaharlichenko <madkinder@gmail.com>
Tested by:        Ihor Kaharlichenko <madkinder@gmail.com>
Approved by:      kib(mentor)
MFC after:        3 days
This commit is contained in:
melifaro 2012-06-23 12:40:24 +00:00
parent 6a0dd123c9
commit da6a8fd01a

View File

@ -568,7 +568,8 @@ ipfw_lookup_table_extended(struct ip_fw_chain *ch, uint16_t tbl, void *paddr,
break; break;
case IPFW_TABLE_INTERFACE: case IPFW_TABLE_INTERFACE:
KEY_LEN(iface) = strlcpy(iface.ifname, (char *)paddr, IF_NAMESIZE); KEY_LEN(iface) = KEY_LEN_IFACE +
strlcpy(iface.ifname, (char *)paddr, IF_NAMESIZE);
/* Assume direct match */ /* Assume direct match */
/* FIXME: Add interface pattern matching */ /* FIXME: Add interface pattern matching */
xent = (struct table_xentry *)(rnh->rnh_lookup(&iface, NULL, rnh)); xent = (struct table_xentry *)(rnh->rnh_lookup(&iface, NULL, rnh));