freebsd-nq/usr.sbin/mountd
Bill Paul 8b5a6d67db Fixed stupid bug in mountd: it would seem that the kernel doesn't allow
you to push the same host into its NFS export lists twice, but mountd
tries to do it anyway. This means that putting:

/some_file_system -ro host1 host1

in your /etc/exports file causes an error. This is bogus: mountd should be
smart enough to ignore the second instance of host1. This can be a problem
in some configurations that use netgroups. For example, each host in my
netgroups database is has two entries:

startide (startide,-,) (startide.ctr.columbia.edu,-,)

When mountd sees this, it tries to put startide.ctr.columbia.edu into the
export list *twice*. Just listing 'startide' /etc/exports list will also
screw up because mountd will try to resolve the netgroup 'startide' instead
of the hostname 'startide.'

My solution is watch for duplicate entries in get_host() and mark them
as grouptype GT_IGNORE, which do_mount() will now cheefully throw away.
This is a bit of a kludge, but it was the least obtrusive fix I could
come up with.

Also silenced a compiler warning: arguments passwd to xdr_long() should
be u_long, not int. :)
1995-03-26 23:36:38 +00:00
..
exports.5
Makefile
mountd.8
mountd.c
netgroup.5
pathnames.h