rmtab_read(void)
{
struct rmtabent *rep;
- nfs_export *exp;
+ nfs_export *exp = NULL;
setrmtabent("r");
while ((rep = getrmtabent(1, NULL)) != NULL) {
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))) {
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;
}
file. */
int lockid;
FILE *fp;
- if ((lockid = xflock(_PATH_RMTAB, "w")) < 0)
+ if ((lockid = xflock(_PATH_RMTABLCK, "w")) < 0)
return -1;
rewindrmtabent();
if (!(fp = fsetrmtabent(_PATH_RMTABTMP, "w"))) {