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>