Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Nov 2024 12:35:40 +0000
From:      Bob Bishop <rb@gid.co.uk>
To:        Rick Macklem <rick.macklem@gmail.com>
Cc:        FreeBSD CURRENT <freebsd-current@FreeBSD.org>, Michael Proto <mike@jellydonut.org>
Subject:   Re: RFC: fixing PR#282995
Message-ID:  <F949CCDA-D424-4F83-9A0A-EE8ED7C54A10@gid.co.uk>
In-Reply-To: <CAM5tNy4YHAPUgZddok1U3Oz3vFB26-FC5M6Ocwx7bZhWm%2BUX4Q@mail.gmail.com>
References:  <CAM5tNy4YHAPUgZddok1U3Oz3vFB26-FC5M6Ocwx7bZhWm%2BUX4Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> On 27 Nov 2024, at 21:56, Rick Macklem <rick.macklem@gmail.com> wrote:
>=20
> Hi,
>=20
> PR#282995 reports that the "-alldirs" export option is broken,
> since it allows an export where the directory path is not a mount =
point.
>=20
> 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).
>=20
> 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.)
>=20
> I do believe the semantic is a useful one,

Why?

> although making it that way
> after 30years might be construed as a POLA violation?
>=20
> 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
>=20

--
Bob Bishop
rb@gid.co.uk







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F949CCDA-D424-4F83-9A0A-EE8ED7C54A10>