Date: Mon, 2 Nov 2020 23:37:47 +0100 From: Emmanuel Vadot <manu@bidouilliste.com> To: Stefan Esser <se@freebsd.org> Cc: Oliver Pinter <oliver.pntr@gmail.com>, src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head@freebsd.org Subject: Re: svn commit: r367280 - head/lib/libc/gen Message-ID: <20201102233747.f545b6ca667d4025a3f3371b@bidouilliste.com> In-Reply-To: <ae9cc57e-3b50-2774-241a-1ec771a6e289@freebsd.org> References: <202011021848.0A2Im7Kx098921@repo.freebsd.org> <CAPjTQNGoy_%2BNc=VvbC=9oNOf_FG4oM0XNaHv%2Bq5oDsvpngSUOQ@mail.gmail.com> <338fdfbb-6fad-0e44-5df6-b5a1c38d3e4f@freebsd.org> <20201102224907.401c9200dffba42cab827b2d@bidouilliste.com> <ae9cc57e-3b50-2774-241a-1ec771a6e289@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2 Nov 2020 23:24:34 +0100 Stefan Esser <se@freebsd.org> wrote: > Am 02.11.20 um 22:49 schrieb Emmanuel Vadot: > > On Mon, 2 Nov 2020 22:41:38 +0100 > > Stefan Esser <se@freebsd.org> wrote: > >=20 > >> Am 02.11.20 um 20:20 schrieb Oliver Pinter:> On Monday, November 2, > >> 2020, Stefan E=DFer <se@freebsd.org > >>> <mailto:se@freebsd.org>> wrote: > >>> > >>> Author: se > >>> Date: Mon Nov=A0 2 18:48:06 2020 > >>> New Revision: 367280 > >>> URL: https://svnweb.freebsd.org/changeset/base/367280 > >>> <https://svnweb.freebsd.org/changeset/base/367280> > >>> > >>> Log: > >>> =A0 Re-arrange some of the code to separate writable user tree > >>> variables from > >>> =A0 R/O variables. > >>> > >>> =A0 While here fix some nearby style. No functional change inte= nded. > >>> > >>> =A0 MFC after:=A0 =A0 1 month > >>> > >>> > >>> Is there any phabricator reference for this / these commit(s) + revie= wer > >>> lists? > >> > >> The previous commit that has been refined in this one has been > >> discussed in D27009. > >> > >> I had added the new R/W sysctl variable to a switch statement that > >> contained one R/O string value, and excluded the OID from causing > >> an error return when a new value had been passed. > >> > >> This was functionally OK, but I have decided to move handling of > >> the new writable variable to before the check for a write attempt > >> and thus need to test specifically for its OID. > >> > >> This sysctl variable is referenced in Scott Longs proposed > >> getlocalbase() function (D27022), but also in the change to make > >> it define defaults paths in /etc/defaults/rc.conf (D27014). > >> > >> I do not support to make LOCALBASE dynamic for a broad range of > >> programs, since this could lead to severe security issues (e.g. > >> when a program is restricted by policy settings LOCALBASE/etc and > >> an user-defined LOCALBASE could be used to circumvent them. > >> > >> There are already programs that respect a LOCALBASE environment > >> variable, e.g. the pkg program, to allow it to e.g. operate with > >> a DESTDIR prefix other than "/". This is a program that could > >> instead use getlocalbase(), IMHO. > >> > >> But for security reasons all files that determine policies and > >> exist in LOCALBASE since they are not distributed as part of the > >> base system, should be located in a secure way, and that is by > >> referring to a compiled in trusted path, IMHO. > >> > >> Even if the sysctl variable "user.localbase" can only be written to > >> by root, the use of getlocalbase() provided by a shared library could > >> allow to perform a LD_PRELOAD attack (provide a getlocalbase() that > >> leadsto a user provided policy file instead of the admin controlled > >> one). > >> > >> Regards, STefan > >=20 > > I think that the first question we want to ask is : Do we want to > > support LOCALBASE being different than /usr/local >=20 > The big majority of users will keep the default value, and I do not > see a good reason for a change, except if there is a large installed > base that traditionally uses another prefix (I have seen /vol/local > and /opt, but also OS and architecture-specific prefixes, for example). I'd still like to see some arguments for such installs. > > I honestly don't see any advantages of making it !=3D/usr/local/ and > > before we start putting a lot of new/useless(for I guess 99% of our > > user base) in the tree we should here why people are using /usr/pkg or > > whatever weird location. >=20 > No, why should we [assess] (assuming that word is to be implied in > your sentence) why people want to be able to easily use a different > prefix? That would be a waste of time, IMHO. >=20 > I know that there are legitimate reasons to want a different prefix, > and we had requests to make it easier to support it. What are thoses ? > We have literal uses of /usr/local in a lot of files in the FreeBSD > base system (more than 1700) and this is not going to change. >=20 > But it was easy to replace a number of such literal pathes in base > system binaries, and we can make it easier for those that need a > different prefix to get it consistently used. >=20 > > If they have some good argument, then we should proceed further. >=20 > You do not have to participate in this effort=20 I do have to participate, it's a common project. Also since I also participate in pkg(8) and in ports/Mk lua/blah stuff there might be some stuff to do there so yes I need to participate. And since you never really started a conversation on a ml (that I know of) my only mean to start this participation is answering a commit email. > - there are so many > other areas to work on (and I know you are very active in one). Only one ? Damn, I should work more then. > But please do not ask those that have started to reduce the use of > literal /usr/local in the base system to justify this work. Seriously ? I have every right to ask you to justify this when it was not talked about in a public forum. > If you are happy with /usr/local, then you are not affected at all. > And if you need to configure your system to use a different prefix, > you are welcome to let us know which steps are still causing much > effort and should be worked on to make it easier ... >=20 > Do you have any reason to be against removal of literal /usr/local > from the base system in favor of using a symbolic name for it? Do you have any reason to remove them at all ? > Regards, STefan --=20 Emmanuel Vadot <manu@bidouilliste.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20201102233747.f545b6ca667d4025a3f3371b>