command.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
return 0;
}
-/**
- * get_client_address - acquire our local network address
- * @saddr: server's address
- * @caddr: filled in with our network address
- *
- * Discover a network address that the server will use to call us back.
- * On multi-homed clients, this address depends on which NIC we use to
- * route requests to the server.
- *
- * Use a connected datagram socket so as not to leave a socket in TIME_WAIT.
- *
- * Returns one if successful, otherwise zero.
- */
-int get_client_address(struct sockaddr_in *saddr, struct sockaddr_in *caddr)
-{
- socklen_t len = sizeof(*caddr);
- int socket, err;
-
- socket = get_socket(saddr, IPPROTO_UDP, CONNECT_TIMEOUT, FALSE, TRUE);
- if (socket == RPC_ANYSOCK)
- return 0;
-
- err = getsockname(socket, caddr, &len);
- close(socket);
-
- if (err && verbose) {
- nfs_error(_("%s: getsockname failed: %s"),
- progname, strerror(errno));
- return 0;
- }
- return 1;
-}
-
/*
* Try a getsockname() on a connected datagram socket.
*
struct sockaddr *, socklen_t *);
int nfs_present_sockaddr(const struct sockaddr *,
const socklen_t, char *, const size_t);
-int get_client_address(struct sockaddr_in *, struct sockaddr_in *);
int nfs_callback_address(const struct sockaddr *, const socklen_t,
struct sockaddr *, socklen_t *);
int nfs_call_umount(clnt_addr_t *, dirpath *);
sa_family_t family; /* supported address family */
};
-static int fill_ipv4_sockaddr(const char *hostname, struct sockaddr_in *addr)
-{
- struct hostent *hp;
- addr->sin_family = AF_INET;
-
- if (inet_aton(hostname, &addr->sin_addr))
- return 1;
- if ((hp = gethostbyname(hostname)) == NULL) {
- nfs_error(_("%s: can't get address for %s\n"),
- progname, hostname);
- return 0;
- }
- if (hp->h_length > sizeof(struct in_addr)) {
- nfs_error(_("%s: got bad hp->h_length"), progname);
- hp->h_length = sizeof(struct in_addr);
- }
- memcpy(&addr->sin_addr, hp->h_addr, hp->h_length);
- return 1;
-}
-
/*
* Obtain a retry timeout value based on the value of the "retry=" option.
*