aboutsummaryrefslogtreecommitdiff
path: root/shell/msh.c
AgeCommit message (Collapse)Author
2005-07-20applyinf fix for:Paul Fox
0000155: variable expansion with braces in backticks in msh
2004-09-02Jonas Holmberg from axis dot com writes:Eric Andersen
This patch makes msh handle variable expansion within backticks more correctly. Current behaviour (wrong): -------------------------- BusyBox v1.00-rc3 (2004.08.26-11:51+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands. $ A='`echo hello`' $ echo $A `echo hello` $ echo `echo $A` hello $ New behaviour (correct): ------------------------ BusyBox v1.00-rc3 (2004.08.26-11:51+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands. $ A='`echo hello`' $ echo $A `echo hello` $ echo `echo $A` `echo hello` $ The current behaviour (wrong according to standards) was actually my fault. msh handles backticks by executing a subshell (which makes it work on MMU-less systems). Executing a subshell makes it hard to only expand variables once in the parent. Therefore I export all variables that will be expanded within the backticks and let the subshell handle the expansion instead. The bug was found while searching for security leaks in CGI-scripts. Current behaviour of msh makes it easy to expand backticks by mistake in $QUERY_STRING. I recommend appling the patch before release of bb 1.00. /Jonas
2004-08-27Quiet a few warningsEric Andersen
2004-08-04Michael Leibow, MichaelLe at belkin.com writes:Eric Andersen
A question was posted a month ago by Mark Alamo to see if others had problems with sourcing subscripts within msh. We asked his firm to fix the msh.c bug he described because we didn't have enough time to do it ourselves. When msh.c is executing a compound statement and there is a . command to source another script file, msh.c will not execute the subscript until it's completed executing the rest of the compound statement. His example was this: Echo "Start" ; . ./subA; echo "mid" ; . ./subB ; echo "end" subA and subB execute AFTER end is printed in reverse order. The same is true if the sourced files are inside an if else fi, case esac, or any compound statement. Attached is a patch to msh.c. It fixes the problem. Cd to the root of your busybox tree and execute "patch -p1 < msh.c.patch" Unfortunately, I won't have more time to work on this so I hope that there aren't any problems! Michael Leibow Senior Software Engineer Belkin Corporation
2004-08-04Run msh through indentEric Andersen
2004-04-14Larry Doolittle writes:Eric Andersen
This is a bulk spelling fix patch against busybox-1.00-pre10. If anyone gets a corrupted copy (and cares), let me know and I will make alternate arrangements. Erik - please apply. Authors - please check that I didn't corrupt any meaning. Package importers - see if any of these changes should be passed to the upstream authors. I glossed over lots of sloppy capitalizations, missing apostrophes, mixed American/British spellings, and German-style compound words. What is "pretect redefined for test" in cmdedit.c? Good luck on the 1.00 release! - Larry
2004-04-07Remove the CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN option. It was sortofEric Andersen
stupid and didn't work properly anyways.
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2003-09-02move all "-/bin/sh" "/bin/sh" and "sh" to libbb/messages.c file as oneGlenn L McGrath
constant. Vodz last_patch_107
2003-07-14Update a bunch of docs. Run a script to update my email addr.Eric Andersen
2003-03-19Major coreutils update.Manuel Novoa III
2003-03-14Patch from Jonas Holmberg, adjusted by Robert Schwebel, andEric Andersen
later re-adjusted by me to fix msh backtick handling
2002-12-11Fixup all the horrible broken function prototypesEric Andersen
-Erik
2002-04-26Ensure that getenv("PATH") stays current, since otherwise cmdeditEric Andersen
(which calls getenv("PATH")) would not operate upon the current PATH settings, which was really quite iritating. -Erik
2001-10-24Major rework of the directory structure and the entire build system.Eric Andersen
-Erik
2001-10-19Add an option to make the shells not advertise their busybox natureEric Andersen
2001-08-06Add support for underscores in variable names.Matt Kraai
2001-08-01Allow multiple shells to be enabled.Matt Kraai
2001-07-12Patch from vodz:Eric Andersen
Changed email address cmdedit API change optimizations for traceroute and md5sum added a new shared create_icmp_socket() function
2001-07-12Allow assignments in the export and readonly commands.Matt Kraai
2001-07-12Remove debugging statement.Matt Kraai
2001-07-07Add in a shell tagline (per lash/hush behavior) to make it easierEric Andersen
to know which shell is in use. Add in 'help' to list available builtins, and fixup msh so it can do STANDALONE_SHELL. -Erik
2001-06-29This is a busybox port of the Minix shell. It is reasonably capable,Eric Andersen
handles all the basic stuff (for, case/esac, while, if/then/else), and is very small (adds just 38k on x86). It is not as rigorously correct about Bourne semantics as bash, but for most things it is quite workable. There is still some work to be done to further shrink it (it has its own globbing functions instead of using the libc ones, for example), but it is quite usable as is. -Erik