From 553ba8456a0303021564d7ad5640e8cb7ce7c7a7 Mon Sep 17 00:00:00 2001
From: hjl <hjl>
Date: Tue, 6 Jun 2000 15:45:45 +0000
Subject: [PATCH] 2000-06-05  H.J. Lu <hjl@lucon.org>

	* utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
	to "struct sockaddr_in *" for glibc 2.2.
	(mount_umnt_1_svc): Likewise.
	(mount_umntall_1_svc): Likewise.
	(mount_export_1_svc): Likewise.
	(mount_exportall_1_svc): Likewise.
	(mount_pathconf_2_svc): Likewise.
	(get_rootfh): Likewise.
---
 ChangeLog             | 11 +++++++++++
 utils/mountd/mountd.c | 23 ++++++++++++++++-------
 2 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 97e2bbc..86745d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2000-06-05  H.J. Lu <hjl@lucon.org>
+
+	* utils/mountd/mountd.c (mount_dump_1_svc): Cast svc_getcaller
+	to "struct sockaddr_in *" for glibc 2.2.
+	(mount_umnt_1_svc): Likewise.
+	(mount_umntall_1_svc): Likewise.
+	(mount_export_1_svc): Likewise.
+	(mount_exportall_1_svc): Likewise.
+	(mount_pathconf_2_svc): Likewise.
+	(get_rootfh): Likewise.
+
 2000-06-04  H.J. Lu <hjl@lucon.org>
 
 	* etc/redhat/nfs.init: Fix a typo in comment.
diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c
index 7f54be6..1cfdc74 100644
--- a/utils/mountd/mountd.c
+++ b/utils/mountd/mountd.c
@@ -76,8 +76,10 @@ mount_mnt_1_svc(struct svc_req *rqstp, dirpath *path, fhstatus *res)
 bool_t
 mount_dump_1_svc(struct svc_req *rqstp, void *argp, mountlist *res)
 {
+	struct sockaddr_in *addr =
+		(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
 	xlog(L_NOTICE, "dump request from %s",
-		inet_ntoa(svc_getcaller(rqstp->rq_xprt)->sin_addr));
+		inet_ntoa(addr->sin_addr));
 
 	*res = mountlist_list();
 	return 1;
@@ -86,7 +88,8 @@ mount_dump_1_svc(struct svc_req *rqstp, void *argp, mountlist *res)
 bool_t
 mount_umnt_1_svc(struct svc_req *rqstp, dirpath *argp, void *resp)
 {
-	struct sockaddr_in *sin = svc_getcaller(rqstp->rq_xprt);
+	struct sockaddr_in *sin
+		= (struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
 	nfs_export	*exp;
 	char		*p = *argp;
 	char		rpath[MAXPATHLEN+1];
@@ -113,15 +116,17 @@ mount_umntall_1_svc(struct svc_req *rqstp, void *argp, void *resp)
 	/* Reload /etc/xtab if necessary */
 	auth_reload();
 
-	mountlist_del_all(svc_getcaller(rqstp->rq_xprt));
+	mountlist_del_all((struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt));
 	return 1;
 }
 
 bool_t
 mount_export_1_svc(struct svc_req *rqstp, void *argp, exports *resp)
 {
+	struct sockaddr_in *addr =
+		(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
 	xlog(L_NOTICE, "export request from %s",
-		inet_ntoa(svc_getcaller(rqstp->rq_xprt)->sin_addr));
+		inet_ntoa(addr->sin_addr));
 	*resp = get_exportlist();
 	return 1;
 }
@@ -129,8 +134,10 @@ mount_export_1_svc(struct svc_req *rqstp, void *argp, exports *resp)
 bool_t
 mount_exportall_1_svc(struct svc_req *rqstp, void *argp, exports *resp)
 {
+	struct sockaddr_in *addr =
+		(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
 	xlog(L_NOTICE, "exportall request from %s",
-		inet_ntoa(svc_getcaller(rqstp->rq_xprt)->sin_addr));
+		inet_ntoa(addr->sin_addr));
 	*resp = get_exportlist();
 	return 1;
 }
@@ -149,7 +156,8 @@ mount_exportall_1_svc(struct svc_req *rqstp, void *argp, exports *resp)
 bool_t
 mount_pathconf_2_svc(struct svc_req *rqstp, dirpath *path, ppathcnf *res)
 {
-	struct sockaddr_in *sin = svc_getcaller(rqstp->rq_xprt);
+	struct sockaddr_in *sin
+		= (struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
 	struct stat	stb;
 	nfs_export	*exp;
 	char		rpath[MAXPATHLEN+1];
@@ -220,7 +228,8 @@ mount_mnt_3_svc(struct svc_req *rqstp, dirpath *path, mountres3 *res)
 static struct nfs_fh_len *
 get_rootfh(struct svc_req *rqstp, dirpath *path, int *error, int v3)
 {
-	struct sockaddr_in *sin = svc_getcaller(rqstp->rq_xprt);
+	struct sockaddr_in *sin =
+		(struct sockaddr_in *) svc_getcaller(rqstp->rq_xprt);
 	struct stat	stb;
 	nfs_export	*exp;
 	char		rpath[MAXPATHLEN+1];
-- 
2.39.5