For the local case, return serv_uaddr in addrmerge, not the address

by which the client contacted rpcbind.

Also fix a missing \n in a debug printf.

From Martin Blapp, mb@imp.ch
This commit is contained in:
fvdl 2001-04-30 00:36:07 +00:00
parent 1959d24b79
commit 0979d803f6
2 changed files with 4 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: rpcb_svc_4.c,v 1.1 2000/06/02 23:15:41 fvdl Exp $ */
/* $NetBSD: rpcb_svc_4.c,v 1.2 2001/04/30 00:36:07 fvdl Exp $ */
/*
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
@ -359,7 +359,7 @@ rpcbproc_getaddrlist_4_local(void *arg, struct svc_req *rqstp, SVCXPRT *transp,
}
#ifdef RPCBIND_DEBUG
if (debugging)
fprintf(stderr, "\tmerge with: %s", rbl->rpcb_map.r_addr);
fprintf(stderr, "\tmerge with: %s\n", rbl->rpcb_map.r_addr);
#endif
if ((maddr = mergeaddr(transp, rbl->rpcb_map.r_netid,
rbl->rpcb_map.r_addr, saddr)) == NULL) {

View File

@ -1,4 +1,4 @@
/* $NetBSD: util.c,v 1.6 2001/04/22 21:43:05 fvdl Exp $ */
/* $NetBSD: util.c,v 1.7 2001/04/30 00:36:08 fvdl Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@ -153,7 +153,7 @@ addrmerge(struct netbuf *caller, char *serv_uaddr, char *clnt_uaddr,
free(serv_nbp);
free(clnt_nbp);
free(clnt_sa);
return strdup(clnt_uaddr);
return strdup(serv_uaddr);
}
} else {
clnt_sa = (struct sockaddr *)