X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmountd%2Fmountd.c;h=6571454f6dd61e7fc22f929a3c61405456f1a71e;hp=5373d81ff3c207c3c5719df902f58af1e264bc6f;hb=0509d3428f523776ddd9d6e9fa318587d3ec7d84;hpb=3ca5879be32c4c11750e12230ff588195fff0738 diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c index 5373d81..6571454 100644 --- a/utils/mountd/mountd.c +++ b/utils/mountd/mountd.c @@ -536,22 +536,21 @@ static void free_exportlist(exports *elist) static void prune_clients(nfs_export *exp, struct exportnode *e) { - struct hostent *hp; + struct addrinfo *ai = NULL; struct groupnode *c, **cp; cp = &e->ex_groups; while ((c = *cp) != NULL) { if (client_gettype(c->gr_name) == MCL_FQDN - && (hp = gethostbyname(c->gr_name))) { - hp = hostent_dup(hp); - if (client_check(exp->m_client, hp)) { + && (ai = host_addrinfo(c->gr_name))) { + if (client_check(exp->m_client, ai)) { *cp = c->gr_next; xfree(c->gr_name); xfree(c); - xfree (hp); + freeaddrinfo(ai); continue; } - xfree (hp); + freeaddrinfo(ai); } cp = &(c->gr_next); }