| Summary: | 'return-rst' does not work for ipv6 in ipfilter | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Andrew Konstantinov <andrei> | ||||
| Component: | kern | Assignee: | Darern Reed <darrenr> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | Unspecified | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
Andrew Konstantinov
2003-10-12 19:40:19 UTC
That patch isn't correct...
This one (from Darren) is better:
--- ip_fil.c.orig Sat Mar 1 04:55:54 2003
+++ ip_fil.c Sat May 10 16:48:51 2003
@@ -1950,17 +1950,18 @@
u_long mtu;
int error;
- ifp = NULL;
ro = &ip6route;
fr = fin->fin_fr;
bzero((caddr_t)ro, sizeof(*ro));
dst6 = (struct sockaddr_in6 *)&ro->ro_dst;
dst6->sin6_family = AF_INET6;
dst6->sin6_len = sizeof(struct sockaddr_in6);
- dst6->sin6_addr = fin->fin_fi.fi_src.in6;
+ dst6->sin6_addr = fin->fin_fi.fi_dst.in6;
if (fdp != NULL)
ifp = fdp->fd_ifp;
+ else
+ ifp = fin->fin_ifp;
if ((fr != NULL) && (fin->fin_rev != 0)) {
if ((ifp != NULL) && (fdp == &fr->fr_tif))
Responsible Changed From-To: freebsd-bugs->darrenr Assign to ipfilter author State Changed From-To: open->feedback this change has been merged into ipfilter State Changed From-To: feedback->closed patch now in -current & RELENG_4 |