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>
/* Reload /etc/xtab if necessary */
auth_reload();
/* Reload /etc/xtab if necessary */
auth_reload();
- mountlist_del_all(nfs_getrpccaller_in(rqstp->rq_xprt));
+ mountlist_del_all(nfs_getrpccaller(rqstp->rq_xprt));
void mountlist_add(char *host, const char *path);
void mountlist_del(char *host, const char *path);
void mountlist_add(char *host, const char *path);
void mountlist_del(char *host, const char *path);
-void mountlist_del_all(struct sockaddr_in *sin);
+void mountlist_del_all(const struct sockaddr *sap);
mountlist mountlist_list(void);
mountlist mountlist_list(void);
-mountlist_del_all(struct sockaddr_in *sin)
+mountlist_del_all(const struct sockaddr *sap)
{
char *hostname;
struct rmtabent *rep;
{
char *hostname;
struct rmtabent *rep;
FILE *fp;
int lockid;
if ((lockid = xflock(_PATH_RMTABLCK, "w")) < 0)
return;
FILE *fp;
int lockid;
if ((lockid = xflock(_PATH_RMTABLCK, "w")) < 0)
return;
- hostname = host_canonname((struct sockaddr *)sin);
+ hostname = host_canonname(sap);
- char buf[INET_ADDRSTRLEN];
+ char buf[INET6_ADDRSTRLEN];
xlog(L_ERROR, "can't get hostname of %s",
xlog(L_ERROR, "can't get hostname of %s",
- host_ntop((struct sockaddr *)sin, buf, sizeof(buf)));
+ host_ntop(sap, buf, sizeof(buf)));
while ((rep = getrmtabent(1, NULL)) != NULL) {
if (strcmp(rep->r_client, hostname) == 0 &&
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);
}
continue;
fputrmtabent(fp, rep, NULL);
}