On Wed, 25 Jun 2025 07:11:30 +0300
Nadav Tasher <[email protected]> wrote:

> On Tue, Jun 24, 2025 at 02:35:58PM +0200, Csókás Bence wrote:
> > Hi,
> > 
> > On 2025. 06. 14. 18:10, Nadav Tasher wrote:  
> > > To improve applet execution coverage, get_shell_name() will return "sh"
> > > when applets are prefered and "sh" is defined as a shell applet.
> > > 
> > > This allows for more applets to execute sub-applets when spawning shells.
> > > 
> > > Signed-off-by: Nadav Tasher <[email protected]>  
> > 
> > Maybe it's just me, but why are we overriding all users' shell preferences
> > depending on a Kconfig option? Isn't there a better way?
> > 
> > Bence
> >   
> This is intentional, since it is the only way we can guarantee applets
> which call system() or execv(get_shell_name(), ...) execute a self-contained
> shell that honors the "prefer applets" Kconfig.
> 
> We need to force this behaviour to guarentee that only applets will be
> executed, since get_shell_name() will result in ash or hush being used
> instead of /bin/sh or others.

Why/how does this help?

/bin/sh can easily be ash, dash or bash (and probably others).
OTOH pw->pw_shell could be absolutely anything and might not understand
'posix' shell syntax at all.
Perhaps the obvious example being csh.

        David

> 
> Nadav
> _______________________________________________
> busybox mailing list
> [email protected]
> https://lists.busybox.net/mailman/listinfo/busybox

_______________________________________________
busybox mailing list
[email protected]
https://lists.busybox.net/mailman/listinfo/busybox

Reply via email to