Sun Aug 20 04:53:31 2017 UTC ()
Pull up following revision(s) (requested by ginsbach in ticket #213):
	lib/libc/rpc/rpcb_st_xdr.c: revision 1.12
PR lib/15802: Shuuichirou Murata: Add missing xdr_rpcbs_rmtcalllist_ptr
There was a missing call to xdr_rpcbs_rmtcalllist_ptr in xdr_rpcb_stat.
This fixes issues with RPCBPROC_GETSTAT not working correctly with
systems that correctly implement the XDR encode/decode routine.


(snj)
diff -r1.11 -r1.11.2.1 src/lib/libc/rpc/rpcb_st_xdr.c

cvs diff -r1.11 -r1.11.2.1 src/lib/libc/rpc/rpcb_st_xdr.c (expand / switch to unified diff)

--- src/lib/libc/rpc/rpcb_st_xdr.c 2017/05/03 21:39:27 1.11
+++ src/lib/libc/rpc/rpcb_st_xdr.c 2017/08/20 04:53:31 1.11.2.1
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: rpcb_st_xdr.c,v 1.11 2017/05/03 21:39:27 christos Exp $ */ 1/* $NetBSD: rpcb_st_xdr.c,v 1.11.2.1 2017/08/20 04:53:31 snj Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2010, Oracle America, Inc. 4 * Copyright (c) 2010, Oracle America, Inc.
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are 7 * modification, are permitted provided that the following conditions are
8 * met: 8 * met:
9 * 9 *
10 * * Redistributions of source code must retain the above copyright 10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer. 11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above 12 * * Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following 13 * copyright notice, this list of conditions and the following
14 * disclaimer in the documentation and/or other materials 14 * disclaimer in the documentation and/or other materials
@@ -32,27 +32,27 @@ @@ -32,27 +32,27 @@
32 */ 32 */
33/* 33/*
34 * Copyright 1991 Sun Microsystems, Inc. 34 * Copyright 1991 Sun Microsystems, Inc.
35 * rpcb_stat_xdr.c 35 * rpcb_stat_xdr.c
36 */ 36 */
37 37
38/* 38/*
39 * This file was generated from rpcb_prot.x, but includes only those 39 * This file was generated from rpcb_prot.x, but includes only those
40 * routines used with the rpcbind stats facility. 40 * routines used with the rpcbind stats facility.
41 */ 41 */
42 42
43#include <sys/cdefs.h> 43#include <sys/cdefs.h>
44#if defined(LIBC_SCCS) && !defined(lint) 44#if defined(LIBC_SCCS) && !defined(lint)
45__RCSID("$NetBSD: rpcb_st_xdr.c,v 1.11 2017/05/03 21:39:27 christos Exp $"); 45__RCSID("$NetBSD: rpcb_st_xdr.c,v 1.11.2.1 2017/08/20 04:53:31 snj Exp $");
46#endif 46#endif
47 47
48#include "namespace.h" 48#include "namespace.h"
49#include <rpc/rpc.h> 49#include <rpc/rpc.h>
50#include <rpc/rpc_com.h> 50#include <rpc/rpc_com.h>
51 51
52#include <assert.h> 52#include <assert.h>
53 53
54/* Link list of all the stats about getport and getaddr */ 54/* Link list of all the stats about getport and getaddr */
55 55
56#ifdef __weak_alias 56#ifdef __weak_alias
57__weak_alias(xdr_rpcbs_addrlist,_xdr_rpcbs_addrlist) 57__weak_alias(xdr_rpcbs_addrlist,_xdr_rpcbs_addrlist)
58__weak_alias(xdr_rpcbs_rmtcalllist,_xdr_rpcbs_rmtcalllist) 58__weak_alias(xdr_rpcbs_rmtcalllist,_xdr_rpcbs_rmtcalllist)
@@ -248,26 +248,29 @@ xdr_rpcb_stat(XDR *xdrs, rpcb_stat *objp @@ -248,26 +248,29 @@ xdr_rpcb_stat(XDR *xdrs, rpcb_stat *objp
248 248
249 if (!xdr_rpcbs_proc(xdrs, objp->info)) { 249 if (!xdr_rpcbs_proc(xdrs, objp->info)) {
250 return (FALSE); 250 return (FALSE);
251 } 251 }
252 if (!xdr_int(xdrs, &objp->setinfo)) { 252 if (!xdr_int(xdrs, &objp->setinfo)) {
253 return (FALSE); 253 return (FALSE);
254 } 254 }
255 if (!xdr_int(xdrs, &objp->unsetinfo)) { 255 if (!xdr_int(xdrs, &objp->unsetinfo)) {
256 return (FALSE); 256 return (FALSE);
257 } 257 }
258 if (!xdr_rpcbs_addrlist_ptr(xdrs, &objp->addrinfo)) { 258 if (!xdr_rpcbs_addrlist_ptr(xdrs, &objp->addrinfo)) {
259 return (FALSE); 259 return (FALSE);
260 } 260 }
 261 if (!xdr_rpcbs_rmtcalllist_ptr(xdrs, &objp->rmtinfo)) {
 262 return (FALSE);
 263 }
261 return (TRUE); 264 return (TRUE);
262} 265}
263 266
264/* 267/*
265 * One rpcb_stat structure is returned for each version of rpcbind 268 * One rpcb_stat structure is returned for each version of rpcbind
266 * being monitored. 269 * being monitored.
267 */ 270 */
268bool_t 271bool_t
269xdr_rpcb_stat_byvers(XDR *xdrs, rpcb_stat_byvers objp) 272xdr_rpcb_stat_byvers(XDR *xdrs, rpcb_stat_byvers objp)
270{ 273{
271 if (!xdr_vector(xdrs, (char *)(void *)objp, RPCBVERS_STAT, 274 if (!xdr_vector(xdrs, (char *)(void *)objp, RPCBVERS_STAT,
272 (u_int)sizeof (rpcb_stat), (xdrproc_t)xdr_rpcb_stat)) { 275 (u_int)sizeof (rpcb_stat), (xdrproc_t)xdr_rpcb_stat)) {
273 return (FALSE); 276 return (FALSE);