Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Mar 2019 13:28:37 +0000 (UTC)
From:      Rodrigo Osorio <rodrigo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r496821 - in head/net/miniupnpd: . files
Message-ID:  <201903251328.x2PDSb3e026565@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rodrigo
Date: Mon Mar 25 13:28:37 2019
New Revision: 496821
URL: https://svnweb.freebsd.org/changeset/ports/496821

Log:
  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)

Added:
  head/net/miniupnpd/files/patch-portinuse.c   (contents, props changed)
Modified:
  head/net/miniupnpd/Makefile
  head/net/miniupnpd/distinfo

Modified: head/net/miniupnpd/Makefile
==============================================================================
--- head/net/miniupnpd/Makefile	Mon Mar 25 13:00:23 2019	(r496820)
+++ head/net/miniupnpd/Makefile	Mon Mar 25 13:28:37 2019	(r496821)
@@ -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/ \

Modified: head/net/miniupnpd/distinfo
==============================================================================
--- head/net/miniupnpd/distinfo	Mon Mar 25 13:00:23 2019	(r496820)
+++ head/net/miniupnpd/distinfo	Mon Mar 25 13:28:37 2019	(r496821)
@@ -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

Added: head/net/miniupnpd/files/patch-portinuse.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/miniupnpd/files/patch-portinuse.c	Mon Mar 25 13:28:37 2019	(r496821)
@@ -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 */
+ 			}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903251328.x2PDSb3e026565>