Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2860a022 authored by Chuck Lever's avatar Chuck Lever Committed by J. Bruce Fields
Browse files

lockd: Specify address family for source address



Make sure an address family is specified for source addresses passed to
nlm_lookup_host().  nlm_lookup_host() will need this when it becomes
capable of dealing with AF_INET6 addresses.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent 1b333c54
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -220,10 +220,12 @@ struct nlm_host *nlmclnt_lookup_host(const struct sockaddr_in *sin,
				     const char *hostname,
				     unsigned int hostname_len)
{
	struct sockaddr_in ssin = {0};
	const struct sockaddr_in source = {
		.sin_family	= AF_UNSPEC,
	};

	return nlm_lookup_host(0, sin, proto, version,
			       hostname, hostname_len, &ssin);
			       hostname, hostname_len, &source);
}

/*
@@ -233,12 +235,14 @@ struct nlm_host *
nlmsvc_lookup_host(struct svc_rqst *rqstp,
			const char *hostname, unsigned int hostname_len)
{
	struct sockaddr_in ssin = {0};
	const struct sockaddr_in source = {
		.sin_family	= AF_INET,
		.sin_addr	= rqstp->rq_daddr.addr,
	};

	ssin.sin_addr = rqstp->rq_daddr.addr;
	return nlm_lookup_host(1, svc_addr_in(rqstp),
			       rqstp->rq_prot, rqstp->rq_vers,
			       hostname, hostname_len, &ssin);
			       hostname, hostname_len, &source);
}

/*