X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=support%2Fexport%2Frmtab.c;h=e11a22a8dd0d96fd18247c5375443c6c4b95eea0;hb=3f23f712477df48fd1d57376b65c44bb2a19ec16;hp=58e59f4e111da0d784a4f4ab6d40c5ab128a3532;hpb=f68785e72129ab643d6c793bd5a11bdf0010eff9;p=nfs-utils.git diff --git a/support/export/rmtab.c b/support/export/rmtab.c index 58e59f4..e11a22a 100644 --- a/support/export/rmtab.c +++ b/support/export/rmtab.c @@ -5,7 +5,9 @@ * */ -#include "config.h" +#ifdef HAVE_CONFIG_H +#include +#endif #include #include @@ -21,7 +23,7 @@ int rmtab_read(void) { struct rmtabent *rep; - nfs_export *exp; + nfs_export *exp = NULL; setrmtabent("r"); while ((rep = getrmtabent(1, NULL)) != NULL) { @@ -29,7 +31,7 @@ rmtab_read(void) int htype; htype = client_gettype(rep->r_client); - if (htype == MCL_FQDN + if ((htype == MCL_FQDN || htype == MCL_SUBNETWORK) && (hp = gethostbyname (rep->r_client)) && (hp = hostent_dup (hp), exp = export_allowed (hp, rep->r_path))) { @@ -41,9 +43,7 @@ rmtab_read(void) if (!exp2) { struct exportent ee; dupexportent(&ee, &exp->m_export); - strncpy (ee.e_hostname, rep->r_client, - sizeof (ee.e_hostname) - 1); - ee.e_hostname[sizeof (ee.e_hostname) -1] = '\0'; + ee.e_hostname = rep->r_client; exp2 = export_create(&ee, 0); exp2->m_changed = exp->m_changed; }