aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/ip_input.c
diff options
context:
space:
mode:
authorLuigi Rizzo <luigi@FreeBSD.org>2002-05-09 10:34:57 +0000
committerLuigi Rizzo <luigi@FreeBSD.org>2002-05-09 10:34:57 +0000
commitd60315bef5ae5498c839483fdbe36438faff9549 (patch)
tree290f0a0b2936ec4f8d0958565aefddebe98c19a9 /sys/netinet/ip_input.c
parentd8f4f6a4043bee8a35bf9722439601b3515f5aaa (diff)
Notes
Diffstat (limited to 'sys/netinet/ip_input.c')
-rw-r--r--sys/netinet/ip_input.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c
index b720bdd90575c..79d5123bf3e81 100644
--- a/sys/netinet/ip_input.c
+++ b/sys/netinet/ip_input.c
@@ -450,22 +450,14 @@ iphack:
* See the comment in ip_output for the return values
* produced by the firewall.
*/
- i = ip_fw_chk_ptr(&ip, hlen, NULL,
- &divert_cookie, &m, &rule, &ip_fw_fwd_addr);
- if (i & IP_FW_PORT_DENY_FLAG) { /* XXX new interface-denied */
+ i = ip_fw_chk_ptr(&m, NULL /* oif */, &divert_cookie,
+ &rule, &ip_fw_fwd_addr);
+ if ( (i & IP_FW_PORT_DENY_FLAG) || m == NULL) { /* drop */
if (m)
m_freem(m);
return;
}
- if (m == NULL) { /* Packet discarded by firewall */
- static int __debug=10;
- if (__debug > 0) {
- printf(
- "firewall returns NULL, please update!\n");
- __debug--;
- }
- return;
- }
+ ip = mtod(m, struct ip *); /* just in case m changed */
if (i == 0 && ip_fw_fwd_addr == NULL) /* common case */
goto pass;
if (DUMMYNET_LOADED && (i & IP_FW_PORT_DYNT_FLAG) != 0) {