Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Sep 2020 16:09:22 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Appropriate path for mount/fsck sub-programs?
Message-ID:  <20200916230922.GT4213@funkthat.com>
In-Reply-To: <20200916204214.GA87473@spindle.one-eyed-alien.net>
References:  <20200916204214.GA87473@spindle.one-eyed-alien.net>

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

--lPld9KzQhYxXHcUh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Brooks Davis wrote this message on Wed, Sep 16, 2020 at 20:42 +0000:
> The mount and fsck commands have the ability to exec a mount_<fs> or
> fsck_<fs> program to do the actual work.  Currently they do this with:
>=20
> execvP(execname, _PATH_SYSPATH, argv);
>=20
> Where _PATH_SYSPATH is "/sbin:/usr/sbin" unless RESCUE is defined in
> which case it's "/rescue:/sbin:/usr/sbin".  This isn't very friendly to
> filesystems in ports and results in things like sysutils/e2fsprogs
> adding a link to /sbin.  I think the path should be expanded to include
> /usr/local/sbin at a minimum.  If it wasn't for the /rescue hack I'd be
> tempted to suggest just switching to `execvp` and using PATH.
> I see a few options (semi-sorted by level of change):
>=20
> 0) Do nothing
> 1a) Add /usr/local/sbin to _PATH_SYSPATH (it's only used in mount and
>    fsck).
> 1b) The same, but a new variable.
> 2) Switch to _PATH_DEFPATH (that also add .../bin directories).
> 3) Use PATH, optionally prepending /rescue
> 4) Use exevp and teach crunched_main.c to prepend /rescue to PATH.
>=20
> I'd like opinions on what people think makes sense here.  I think (0)
> aligns poorly with current project directions, but how far to go is a
> question to answer before implementing something.

Since it's only used by fsck and mount, I'm firmly in the 1a camp..

This means that mount_* programs can be located in /usr/local/sbin as
well, which seems to complete this change...

2 would make fsck_* programs "visible" when ports don't do the correct
thing, which 1b helps prevent.

3 and 4 are dangerous to me, as it not everyone keeps . out of their
path, and might be tricked into running a bad binary..

--=20
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."

--lPld9KzQhYxXHcUh
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQJ8BAEBCgBmBQJfYpshXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2MEI1RTRGMTNDNzYyMDZDNjEyMDBCNjAy
MDVGMEIzM0REMDA2QURBAAoJECBfCzPdAGrar4EQALPjd7kpSYJUKSAwrymNG/C+
TVpYpMZBn3o8iHPMuhygJ9Pf1OuJCis3VvlE1SeEPv9K83Qs19LaNLRHyrdim/1u
OFR1f/7pI8XkwKpFbIktDBjvirEnReO+jJG9R5vPrT2GNQO21Ygx8s28ggn01H7K
SHze2dmDJUZ9dXSK04WnlmQ4kgK6CyQUKfdc9QVr+DM3JuVd6JBx8b+U4j95Nl2O
IVsr5aOMwTEWoneNAIKSi8oap4J0jaGH22kjGSwBc4nu0lr+sGVoBWvwmXPTeuaC
IkvU55axQDE+6qSvk9XnGFGTV7grrRJgs8vFDGUYz304X8ojoLB33WwGHhcf4EU0
aaG2Hl826M7JT544pGpbfqyUuy8dURsxz1sqAiNrcn5dOLwwILwu2JgrdosKhcKp
Ry26JJ7cA3Ai6H9fAGmo6xu/6XuHm2DACatSslWmjz3f7trgNWIbf8EV/r1MW0/H
Lng8KKJf58PZLZIu4BTUUn5bgQZuMLYsdz2Z1JJsGzU/eXvOmAqEE65UEEuTIMkk
0jORI3uIqtN7nFwBN1Ur8xRby9JJA7Mxsqdqv7UccFi5fPL4YifmvYeGlFjCQCk/
m4iVgTd0RIoYZzBeC1QqeZS5OakOAFUMFtD+umoXOf1wGPlUfVI9am3eFWzQ+HHr
XnB7DUs/qPa8Wj/5HdAS
=COpR
-----END PGP SIGNATURE-----

--lPld9KzQhYxXHcUh--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200916230922.GT4213>