Hi Steve- > On Apr 11, 2018, at 9:08 AM, Steve Dickson <steved@xxxxxxxxxx> wrote: > > Commit 46e04a73 changed clnt_create(3) not to > use reserve ports when binding a connection to > a server. > > For certain legacy apps, like some of the NIS commands, > the client has to used reserve port to be able > to communicate with the server. This is still not clear. The problem is not that the RPC client has to use a reserved port, it's that the client implementations currently assume that clnt_create(3) will allocate a reserved port for them, which is undocumented API behavior. One more comment below. > So the use of reserve ports in clnt_create(3) > has been restored. > > Signed-off-by: Steve Dickson <steved@xxxxxxxxxx> > --- > src/clnt_generic.c | 3 +-- > src/rpc_soc.c | 3 +-- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/src/clnt_generic.c b/src/clnt_generic.c > index e5a314f..774292b 100644 > --- a/src/clnt_generic.c > +++ b/src/clnt_generic.c > @@ -341,8 +341,7 @@ clnt_tli_create(int fd, const struct netconfig *nconf, > servtype = nconf->nc_semantics; > if (!__rpc_fd2sockinfo(fd, &si)) > goto err; > - if (__binddynport(fd) == -1) > - goto err; > + bindresvport(fd, NULL); If this is the last __binddynport call site in clnt_generic.c, you can remove its forward declaration (line 50 in my copy of the source). > } else { > if (!__rpc_fd2sockinfo(fd, &si)) > goto err; > diff --git a/src/rpc_soc.c b/src/rpc_soc.c > index af6c482..f32a27c 100644 > --- a/src/rpc_soc.c > +++ b/src/rpc_soc.c > @@ -147,8 +147,7 @@ clnt_com_create(raddr, prog, vers, sockp, sendsz, recvsz, tp, flags) > bindaddr.maxlen = bindaddr.len = sizeof (struct sockaddr_in); > bindaddr.buf = raddr; > > - if (__binddynport(fd) == -1) > - goto err; > + bindresvport(fd, NULL); > cl = clnt_tli_create(fd, nconf, &bindaddr, prog, vers, > sendsz, recvsz); > if (cl) { > -- > 2.14.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html