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
