Revert "fs: nfs: Do not bind to a local port in TCP mode"
This reverts commit e1b14271c85f4aa0a23dfa2036afae7d53e9817c.
This commit is contained in:
parent
245db6742c
commit
221d919b77
@ -240,31 +240,28 @@ static int rpcclnt_socket(FAR struct rpcclnt *rpc, in_port_t rport)
|
|||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rpc->rc_sotype == SOCK_DGRAM)
|
/* Some servers require that the client port be a reserved port
|
||||||
|
* number. We always allocate a reserved port, as this prevents
|
||||||
|
* filehandle disclosure through UDP port capture.
|
||||||
|
*/
|
||||||
|
|
||||||
|
do
|
||||||
{
|
{
|
||||||
/* Some servers require that the client port be a reserved port
|
*lport = htons(--port);
|
||||||
* number. We always allocate a reserved port, as this prevents
|
error = psock_bind(&rpc->rc_so, (FAR struct sockaddr *)&laddr,
|
||||||
* filehandle disclosure through UDP port capture.
|
addrlen);
|
||||||
*/
|
if (error < 0)
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
*lport = htons(--port);
|
|
||||||
error = psock_bind(&rpc->rc_so, (FAR struct sockaddr *)&laddr,
|
|
||||||
addrlen);
|
|
||||||
if (error < 0)
|
|
||||||
{
|
|
||||||
ferr("ERROR: psock_bind failed: %d\n", error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (error == -EADDRINUSE && port >= 512);
|
|
||||||
|
|
||||||
if (error)
|
|
||||||
{
|
{
|
||||||
ferr("ERROR: psock_bind failed: %d\n", error);
|
ferr("ERROR: psock_bind failed: %d\n", error);
|
||||||
goto bad;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
while (error == -EADDRINUSE && port >= 512);
|
||||||
|
|
||||||
|
if (error)
|
||||||
|
{
|
||||||
|
ferr("ERROR: psock_bind failed: %d\n", error);
|
||||||
|
goto bad;
|
||||||
|
}
|
||||||
|
|
||||||
/* Protocols that do not require connections could be optionally left
|
/* Protocols that do not require connections could be optionally left
|
||||||
* unconnected. That would allow servers to reply from a port other than
|
* unconnected. That would allow servers to reply from a port other than
|
||||||
|
Loading…
x
Reference in New Issue
Block a user