View | Details | Raw Unified | Return to bug 26070
Collapse All | Expand All

(-)sbin/mount_nfs/mount_nfs.c (-2 / +17 lines)
Lines 585-590 Link Here
585
	char host[NI_MAXHOST], serv[NI_MAXSERV];
585
	char host[NI_MAXHOST], serv[NI_MAXSERV];
586
	static struct netbuf nfs_nb;
586
	static struct netbuf nfs_nb;
587
	static struct sockaddr_storage nfs_ss;
587
	static struct sockaddr_storage nfs_ss;
588
	struct sockaddr_in *sin;
589
	struct sockaddr_in6 *sin6;
588
	struct netconfig *nconf;
590
	struct netconfig *nconf;
589
	char *netid;
591
	char *netid;
590
	struct timeval pertry, try;
592
	struct timeval pertry, try;
Lines 704-713 Link Here
704
		retrycnt = orgcnt;
706
		retrycnt = orgcnt;
705
707
706
		while (retrycnt > 0) {
708
		while (retrycnt > 0) {
709
			if (port_no != 0) {
710
				if (ai_nfs->ai_family == AF_INET6) {
711
					((struct sockaddr_in6 *)ai_nfs->
712
					    ai_addr)->sin6_port = htons(port_no);
713
					nfs_nb.len = sizeof(struct sockaddr_in6);
714
				} else {
715
					((struct sockaddr_in *)ai_nfs->
716
					    ai_addr)->sin_port = htons(port_no);
717
					nfs_nb.len = sizeof(struct sockaddr_in);
718
				}
719
				memset(&nfs_ss, 0, sizeof(nfs_ss));
720
				memcpy(&nfs_ss, ai_nfs->ai_addr, sizeof(ai_nfs->ai_addr));
721
			}
707
			nfs_nb.buf = &nfs_ss;
722
			nfs_nb.buf = &nfs_ss;
708
			nfs_nb.maxlen = sizeof nfs_ss;
723
			nfs_nb.maxlen = sizeof nfs_ss;
709
			if (!rpcb_getaddr(RPCPROG_NFS, nfsvers, nconf,
724
			if (port_no == 0 && !rpcb_getaddr(RPCPROG_NFS,
710
			    &nfs_nb, hostp)){
725
			    nfsvers, nconf, &nfs_nb, hostp)) {
711
				if (rpc_createerr.cf_stat == RPC_SYSTEMERROR) {
726
				if (rpc_createerr.cf_stat == RPC_SYSTEMERROR) {
712
					nfhret.stat = rpc_createerr.cf_error.re_errno;
727
					nfhret.stat = rpc_createerr.cf_error.re_errno;
713
					break;
728
					break;

Return to bug 26070