summaryrefslogtreecommitdiff
path: root/sys/contrib
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2020-08-02 04:25:11 +0000
committerCy Schubert <cy@FreeBSD.org>2020-08-02 04:25:11 +0000
commit308b0f6199e29d08314ef67a3b65e21fcc60e8c3 (patch)
tree1d438a6c75de5f62bd3a6e3e702e1a99eda20c44 /sys/contrib
parentb62cd1096b96e3ee0181a8458de69ed93b1de33e (diff)
downloadsrc-test2-308b0f6199e29d08314ef67a3b65e21fcc60e8c3.tar.gz
src-test2-308b0f6199e29d08314ef67a3b65e21fcc60e8c3.zip
Notes
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/ipfilter/netinet/fil.c4
-rw-r--r--sys/contrib/ipfilter/netinet/ip_frag.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/sys/contrib/ipfilter/netinet/fil.c b/sys/contrib/ipfilter/netinet/fil.c
index add786ed25ca..03d50e0963a1 100644
--- a/sys/contrib/ipfilter/netinet/fil.c
+++ b/sys/contrib/ipfilter/netinet/fil.c
@@ -115,6 +115,8 @@ extern int opts;
extern int blockreason;
#endif /* _KERNEL */
+#define FASTROUTE_RECURSION
+
#define LBUMP(x) softc->x++
#define LBUMPD(x, y) do { softc->x.y++; DT(y); } while (0)
@@ -1696,7 +1698,7 @@ ipf_pr_ipv4hdr(fin)
fi->fi_p = p;
fin->fin_crc = p;
fi->fi_tos = ip->ip_tos;
- fin->fin_id = ip->ip_id;
+ fin->fin_id = ntohs(ip->ip_id);
off = ntohs(ip->ip_off);
/* Get both TTL and protocol */
diff --git a/sys/contrib/ipfilter/netinet/ip_frag.c b/sys/contrib/ipfilter/netinet/ip_frag.c
index f0459da18b03..28d306da2a60 100644
--- a/sys/contrib/ipfilter/netinet/ip_frag.c
+++ b/sys/contrib/ipfilter/netinet/ip_frag.c
@@ -404,6 +404,7 @@ ipfr_frag_new(softc, softf, fin, pass, table
}
}
+ memset(&frag, 0, sizeof(frag));
frag.ipfr_v = fin->fin_v;
idx = fin->fin_v;
frag.ipfr_p = fin->fin_p;
@@ -452,6 +453,7 @@ ipfr_frag_new(softc, softf, fin, pass, table
FBUMPD(ifs_nomem);
return NULL;
}
+ memset(fran, 0, sizeof(*fran));
WRITE_ENTER(lock);
@@ -489,6 +491,7 @@ ipfr_frag_new(softc, softf, fin, pass, table
table[idx] = fra;
bcopy((char *)&frag.ipfr_ifp, (char *)&fra->ipfr_ifp, IPFR_CMPSZ);
fra->ipfr_v = fin->fin_v;
+ fra->ipfr_p = fin->fin_p;
fra->ipfr_ttl = softc->ipf_ticks + softf->ipfr_ttl;
fra->ipfr_firstend = frag.ipfr_firstend;
@@ -677,6 +680,7 @@ ipf_frag_lookup(softc, softf, fin, table
*
* build up a hash value to index the table with.
*/
+ memset(&frag, 0, sizeof(frag));
frag.ipfr_v = fin->fin_v;
idx = fin->fin_v;
frag.ipfr_p = fin->fin_p;