svn commit: r288512 - in releng: 10.1 10.1/sys/conf 10.1/usr.sbin/rpcbind 10.2 10.2/sys/conf 10.2/usr.sbin/rpcbind 9.3 9.3/sys/conf 9.3/usr.sbin/rpcbind

Xin LI delphij at FreeBSD.org
Fri Oct 2 16:37:09 UTC 2015


Author: delphij
Date: Fri Oct  2 16:37:06 2015
New Revision: 288512
URL: https://svnweb.freebsd.org/changeset/base/288512

Log:
  Fix a regression with SA-15:24 patch that prevented NIS from
  working.
  
  Approved by:	so

Modified:
  releng/10.1/UPDATING
  releng/10.1/sys/conf/newvers.sh
  releng/10.1/usr.sbin/rpcbind/rpcb_svc_com.c
  releng/10.2/UPDATING
  releng/10.2/sys/conf/newvers.sh
  releng/10.2/usr.sbin/rpcbind/rpcb_svc_com.c
  releng/9.3/UPDATING
  releng/9.3/sys/conf/newvers.sh
  releng/9.3/usr.sbin/rpcbind/rpcb_svc_com.c

Modified: releng/10.1/UPDATING
==============================================================================
--- releng/10.1/UPDATING	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/10.1/UPDATING	Fri Oct  2 16:37:06 2015	(r288512)
@@ -16,6 +16,9 @@ from older versions of FreeBSD, try WITH
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20151002:	p22	FreeBSD-SA-15:24.rpcbind [revised]
+	Revised patch to address a regression that prevents NIS from working.
+
 20150929:	p21	FreeBSD-SA-15:24.rpcbind
 
 	Fix rpcbind(8) remote denial of service. [SA-15:24]

Modified: releng/10.1/sys/conf/newvers.sh
==============================================================================
--- releng/10.1/sys/conf/newvers.sh	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/10.1/sys/conf/newvers.sh	Fri Oct  2 16:37:06 2015	(r288512)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="10.1"
-BRANCH="RELEASE-p21"
+BRANCH="RELEASE-p22"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
 	BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/10.1/usr.sbin/rpcbind/rpcb_svc_com.c
==============================================================================
--- releng/10.1/usr.sbin/rpcbind/rpcb_svc_com.c	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/10.1/usr.sbin/rpcbind/rpcb_svc_com.c	Fri Oct  2 16:37:06 2015	(r288512)
@@ -1053,12 +1053,15 @@ static bool_t
 netbuf_copybuf(struct netbuf *dst, const struct netbuf *src)
 {
 
-	assert(dst->buf == NULL);
+	if (dst->len != src->len || dst->buf == NULL) {
+		if (dst->buf != NULL)
+			free(dst->buf);
+		if ((dst->buf = malloc(src->len)) == NULL)
+			return (FALSE);
 
-	if ((dst->buf = malloc(src->len)) == NULL)
-		return (FALSE);
+		dst->maxlen = dst->len = src->len;
+	}
 
-	dst->maxlen = dst->len = src->len;
 	memcpy(dst->buf, src->buf, src->len);
 	return (TRUE);
 }

Modified: releng/10.2/UPDATING
==============================================================================
--- releng/10.2/UPDATING	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/10.2/UPDATING	Fri Oct  2 16:37:06 2015	(r288512)
@@ -16,6 +16,9 @@ from older versions of FreeBSD, try WITH
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20151002:	p5	FreeBSD-SA-15:24.rpcbind [revised]
+	Revised patch to address a regression that prevents NIS from working.
+
 20150929:	p4	FreeBSD-SA-15:24.rpcbind
 
 	Fix rpcbind(8) remote denial of service. [SA-15:24]

Modified: releng/10.2/sys/conf/newvers.sh
==============================================================================
--- releng/10.2/sys/conf/newvers.sh	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/10.2/sys/conf/newvers.sh	Fri Oct  2 16:37:06 2015	(r288512)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="10.2"
-BRANCH="RELEASE-p4"
+BRANCH="RELEASE-p5"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
 	BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/10.2/usr.sbin/rpcbind/rpcb_svc_com.c
==============================================================================
--- releng/10.2/usr.sbin/rpcbind/rpcb_svc_com.c	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/10.2/usr.sbin/rpcbind/rpcb_svc_com.c	Fri Oct  2 16:37:06 2015	(r288512)
@@ -1053,12 +1053,15 @@ static bool_t
 netbuf_copybuf(struct netbuf *dst, const struct netbuf *src)
 {
 
-	assert(dst->buf == NULL);
+	if (dst->len != src->len || dst->buf == NULL) {
+		if (dst->buf != NULL)
+			free(dst->buf);
+		if ((dst->buf = malloc(src->len)) == NULL)
+			return (FALSE);
 
-	if ((dst->buf = malloc(src->len)) == NULL)
-		return (FALSE);
+		dst->maxlen = dst->len = src->len;
+	}
 
-	dst->maxlen = dst->len = src->len;
 	memcpy(dst->buf, src->buf, src->len);
 	return (TRUE);
 }

Modified: releng/9.3/UPDATING
==============================================================================
--- releng/9.3/UPDATING	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/9.3/UPDATING	Fri Oct  2 16:37:06 2015	(r288512)
@@ -11,6 +11,9 @@ handbook:
 Items affecting the ports and packages system can be found in
 /usr/ports/UPDATING.  Please read that file before running portupgrade.
 
+20151002:	p28	FreeBSD-SA-15:24.rpcbind [revised]
+	Revised patch to address a regression that prevents NIS from working.
+
 20150929:	p27	FreeBSD-SA-15:24.rpcbind
 
 	Fix rpcbind(8) remote denial of service. [SA-15:24]

Modified: releng/9.3/sys/conf/newvers.sh
==============================================================================
--- releng/9.3/sys/conf/newvers.sh	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/9.3/sys/conf/newvers.sh	Fri Oct  2 16:37:06 2015	(r288512)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="9.3"
-BRANCH="RELEASE-p27"
+BRANCH="RELEASE-p28"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
 	BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/9.3/usr.sbin/rpcbind/rpcb_svc_com.c
==============================================================================
--- releng/9.3/usr.sbin/rpcbind/rpcb_svc_com.c	Fri Oct  2 16:36:16 2015	(r288511)
+++ releng/9.3/usr.sbin/rpcbind/rpcb_svc_com.c	Fri Oct  2 16:37:06 2015	(r288512)
@@ -1053,12 +1053,15 @@ static bool_t
 netbuf_copybuf(struct netbuf *dst, const struct netbuf *src)
 {
 
-	assert(dst->buf == NULL);
+	if (dst->len != src->len || dst->buf == NULL) {
+		if (dst->buf != NULL)
+			free(dst->buf);
+		if ((dst->buf = malloc(src->len)) == NULL)
+			return (FALSE);
 
-	if ((dst->buf = malloc(src->len)) == NULL)
-		return (FALSE);
+		dst->maxlen = dst->len = src->len;
+	}
 
-	dst->maxlen = dst->len = src->len;
 	memcpy(dst->buf, src->buf, src->len);
 	return (TRUE);
 }


More information about the svn-src-all mailing list