summaryrefslogtreecommitdiffstats
path: root/utils/mountd/rmtab.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-09-16 13:46:26 -0400
committerSteve Dickson <steved@redhat.com>2010-09-16 14:33:51 -0400
commit454aea5dad83ca75f3154ff12ecff39169703e69 (patch)
tree75375932f4847e1ea1f94024be083238d321ca22 /utils/mountd/rmtab.c
parent4210d6f0c9cad57907877bf1e5d32ebe4a27bf17 (diff)
downloadnfs-utils-454aea5dad83ca75f3154ff12ecff39169703e69.tar.gz
nfs-utils-454aea5dad83ca75f3154ff12ecff39169703e69.tar.xz
nfs-utils-454aea5dad83ca75f3154ff12ecff39169703e69.zip
mountd: support IPv6 in mountlist_del_all()
Replace IPv4-specific code in the mountlist_del_all() path with code that is address family agnostic. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/mountd/rmtab.c')
-rw-r--r--utils/mountd/rmtab.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/utils/mountd/rmtab.c b/utils/mountd/rmtab.c
index d23712b..b2c04e7 100644
--- a/utils/mountd/rmtab.c
+++ b/utils/mountd/rmtab.c
@@ -131,21 +131,20 @@ mountlist_del(char *hname, const char *path)
}
void
-mountlist_del_all(struct sockaddr_in *sin)
+mountlist_del_all(const struct sockaddr *sap)
{
char *hostname;
struct rmtabent *rep;
- nfs_export *exp;
FILE *fp;
int lockid;
if ((lockid = xflock(_PATH_RMTABLCK, "w")) < 0)
return;
- hostname = host_canonname((struct sockaddr *)sin);
+ hostname = host_canonname(sap);
if (hostname == NULL) {
- char buf[INET_ADDRSTRLEN];
+ char buf[INET6_ADDRSTRLEN];
xlog(L_ERROR, "can't get hostname of %s",
- host_ntop((struct sockaddr *)sin, buf, sizeof(buf)));
+ host_ntop(sap, buf, sizeof(buf)));
goto out_unlock;
}
@@ -157,8 +156,7 @@ mountlist_del_all(struct sockaddr_in *sin)
while ((rep = getrmtabent(1, NULL)) != NULL) {
if (strcmp(rep->r_client, hostname) == 0 &&
- (exp = auth_authenticate("umountall",
- (struct sockaddr *)sin, rep->r_path)))
+ auth_authenticate("umountall", sap, rep->r_path) != NULL)
continue;
fputrmtabent(fp, rep, NULL);
}