mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-11 07:22:22 +00:00
Upgrade net/miniupnpd from 2.0.20180503 to 2.1.20190210
Add a patch to unbreak port when CHECK_PORTINUSE option is activated. The issue was caussed by changes in the structures xtcpcb and xinpcb returned by the kernel after r315662. The fix was inspired by changes made in usr.bin/systat/netstat.c tool. The patch was submitted to the upstream project and merged : https://github.com/miniupnp/miniupnp/pull/353 PR: 236173 Reported by: Igor Pavlov <igor.arabesc.pavlov@gmail.com> Approved by: Tor Halvard Furulund <squat@squat.no> (maintainer)
This commit is contained in:
parent
e3bc0d6c63
commit
083963b000
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=496821
@ -2,7 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= miniupnpd
|
||||
PORTVERSION= 2.0.20180503
|
||||
PORTVERSION= 2.1.20190210
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://miniupnp.tuxfamily.org/files/ \
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1525713934
|
||||
SHA256 (miniupnpd-2.0.20180503.tar.gz) = b61bed16865f8692803a9f155523ca7c6e01c65db20362b6173226b08ce12a0c
|
||||
SIZE (miniupnpd-2.0.20180503.tar.gz) = 225454
|
||||
TIMESTAMP = 1551791337
|
||||
SHA256 (miniupnpd-2.1.20190210.tar.gz) = 1aaecd25cf152d99557dfe80c7508af9cb06e97ecad4786ce5dafb4c958d196b
|
||||
SIZE (miniupnpd-2.1.20190210.tar.gz) = 235093
|
||||
|
49
net/miniupnpd/files/patch-portinuse.c
Normal file
49
net/miniupnpd/files/patch-portinuse.c
Normal file
@ -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 */
|
||||
}
|
Loading…
Reference in New Issue
Block a user