Hi,
> On 27 Nov 2024, at 21:56, Rick Macklem <[email protected]> wrote:
>
> Hi,
>
> PR#282995 reports that the "-alldirs" export option is broken,
> since it allows an export where the directory path is not a mount point.
>
> I'll admit I did not recall this semantic for -alldirs and I now see it is
> only
> documented in the "Examples" section of exports(5).
>
> Looking at the code, it appears this was broken between releng1 and
> releng2.0 (about 30years ago) when the call to mount(2) in mountd.c
> was changed from using the path in the exports line to using f_mntonname.
> (The check for "it is a mount point" depended on mount(2) failing because
> the path was not a mount point.)
>
> I do believe the semantic is a useful one,
Why?
> although making it that way
> after 30years might be construed as a POLA violation?
>
> So, what do others think I should do with this?
> (A) - Patch mountd to enforce the "must be a mount point when -alldirs
> is specified, plus update exports(5) to state this semantic clearly.
> or
> (B) - Patch mountd so that it enforces "must be a mount point when -alldirs
> is specified, but only enabled via a new mountd command line option.
> --> ie. Leave the default as not enforced, but allow enforcement based
> on a new mountd option.
> - Document this in both exports(5) and mountd(8).
> or
> ???
(C) - Patch mountd so that it enforces "must be a mount point when -alldirs
is specified, but provide a new mountd command line option to restore
the old behaviour.
--> ie. Default as enforced, but allow an override based on a new
mountd option.
- Document this in both exports(5) and mountd(8).
I think that (A) is too POLA-unfriendly.
> Thanks in advance for your comments, rick
>
--
Bob Bishop
[email protected]