diff options
author | Rodrigo Osorio <rodrigo@FreeBSD.org> | 2019-03-25 13:28:37 +0000 |
---|---|---|
committer | Rodrigo Osorio <rodrigo@FreeBSD.org> | 2019-03-25 13:28:37 +0000 |
commit | 083963b000293d0bc3ad6d437fa37b7082ee379a (patch) | |
tree | 4eec1bdb468e3d81d759d389320b7bff132dee9c /net/miniupnpd/files/patch-portinuse.c | |
parent | e3bc0d6c631649aed31cfd4799ed68377c17889a (diff) | |
download | ports-083963b000293d0bc3ad6d437fa37b7082ee379a.tar.gz ports-083963b000293d0bc3ad6d437fa37b7082ee379a.zip |
Notes
Diffstat (limited to 'net/miniupnpd/files/patch-portinuse.c')
-rw-r--r-- | net/miniupnpd/files/patch-portinuse.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/net/miniupnpd/files/patch-portinuse.c b/net/miniupnpd/files/patch-portinuse.c new file mode 100644 index 000000000000..8ec4e68022d0 --- /dev/null +++ b/net/miniupnpd/files/patch-portinuse.c @@ -0,0 +1,49 @@ +--- portinuse.c.orig 2017-11-02 17:38:02 UTC ++++ portinuse.c +@@ -280,7 +280,7 @@ static struct nlist list[] = { + struct xinpgen *xig, *exig; + struct xinpcb *xip; + struct xtcpcb *xtp; +- struct inpcb *inp; ++ struct in_conninfo *inc; + void *buf = NULL; + size_t len; + +@@ -339,7 +339,8 @@ static struct nlist list[] = { + free(buf); + return -1; + } +- inp = &xtp->xt_inp; ++ xip = &xtp->xt_inp; ++ inc = &xip->inp_inc; + break; + case IPPROTO_UDP: + xip = (struct xinpcb *)xig; +@@ -349,21 +350,21 @@ static struct nlist list[] = { + free(buf); + return -1; + } +- inp = &xip->xi_inp; ++ inc = &xip->inp_inc; + break; + default: + abort(); + } + /* no support for IPv6 */ +- if ((inp->inp_vflag & INP_IPV6) != 0) ++ if ((xip->inp_vflag & INP_IPV6) != 0) + continue; + syslog(LOG_DEBUG, "%08lx:%hu %08lx:%hu <=> %hu %08lx:%hu", +- (u_long)inp->inp_laddr.s_addr, ntohs(inp->inp_lport), +- (u_long)inp->inp_faddr.s_addr, ntohs(inp->inp_fport), ++ (u_long)inc->inc_laddr.s_addr, ntohs(inc->inc_lport), ++ (u_long)inc->inc_faddr.s_addr, ntohs(inc->inc_fport), + eport, (u_long)ip_addr.s_addr, iport + ); +- if (eport == (unsigned)ntohs(inp->inp_lport)) { +- if (inp->inp_laddr.s_addr == INADDR_ANY || inp->inp_laddr.s_addr == ip_addr.s_addr) { ++ if (eport == (unsigned)ntohs(inc->inc_lport)) { ++ if (inc->inc_laddr.s_addr == INADDR_ANY || inc->inc_laddr.s_addr == ip_addr.s_addr) { + found++; + break; /* don't care how many, just that we found at least one */ + } |