Permalink
Browse files

add_startup_script: some changes

- start debug output with 'exit' shell command to prevent accidental
  execution of output lines
- move injected call up one line
- SIAB injectioni - add some messages
  • Loading branch information...
PeterPawn committed Oct 10, 2018
1 parent 85da230 commit 516d22a4500a6d2a3a05452cd7ad2347d6cac5d6
Showing with 12 additions and 3 deletions.
  1. +9 −3 toolbox/scripts/add_startup_script
  2. +3 −0 toolbox/scripts/rc.shellinaboxd
@@ -49,6 +49,7 @@ if [ "$1" = "-d" -o "$1" = "--debug" ]; then
debug=1
shift
exec 2<>$tmpdir/${0##*/}.log
printf "exit\n# <<<<< debug output of $0 $* >>>>>\n" 1>&2
set -x
else
debug=0
@@ -66,21 +67,26 @@ shift
# #
#######################################################################################################
cp "$rcS" "$scr"
sed -e "/^if ls.*S/a[ \$gruppe -eq 9 ] && /bin/sh $new_script $*" -i "$scr"
sed -e "/^if ls.*S/i[ \$gruppe -eq 9 ] && printf \"Starting '%s %s'\\\\n\" $new_script \"$*\" >/dev/console && /bin/sh $new_script $*" -i "$scr"
#######################################################################################################
# #
# replace the original file #
# #
#######################################################################################################
mount -o bind "$scr" "$rcS"
#######################################################################################################
# #
# save debug output to TFFS node #
# #
#######################################################################################################
if [ $debug -eq 1 ]; then
cat "$rcS" 1>&2
tffs=$(sed -n -e 's|^[ ]*\([0-9]*\) tffs$|\1|p' /proc/devices)
if [ ${#tffs} -gt 0 ]; then
tffs_name=$tmpdir/${0##*/}.tffs
mknod $tffs_name c $tffs 141
[ -c $tffs_name ] && cat $tffs_name $tmpdir/${0##*/}.log >$tmpdir/${0##*/}.new && cat $tmpdir/${0##*/}.new > $tffs_name
rm $tffs_name
[ -c $tffs_name ] && cat $tffs_name $tmpdir/${0##*/}.log >$tmpdir/${0##*/}.new && cat $tmpdir/${0##*/}.new >$tffs_name
rm $tffs_name $tmpdir/${0##*/}.new 2>/dev/null
fi
fi
#######################################################################################################
@@ -40,6 +40,7 @@ start_service()
sed -e "s|^\(root\):\([^:]*\):\([^:]*\):\([^:]*\):\([^:]*\):\([^:]*\):\(.*\)\$|\1:\2:\3:\4:\5:$CFG_HOMEDIR:$CFG_SHELL|" -i $(realpath /etc/passwd)
eval $my_executable $my_executable_params
[ "$(ctlmgr_ctl r box status/signed_firmware)" = "0" ] && echo clear_id 87 >/proc/tffs
printf "Service '%s' was started (pid %s).\n" "$my_display" "$(cat $my_pidfile 2>/dev/null)" >/dev/console
}
#####################################################################################
# #
@@ -51,8 +52,10 @@ stop_service()
local pid=$(cat $my_pidfile 2>/dev/null)
if [ ${#pid} -gt 0 ]; then
if [ -d /proc/$pid ]; then
printf "Service '%s' (pid %s) will be stopped now ...\n" "$my_display" "$pid" >/dev/console
kill $pid
wait $pid
printf "Service '%s' has been stopped.\n" "$my_display" >/dev/console
fi
fi
rm $my_pidfile 2>/dev/null

0 comments on commit 516d22a

Please sign in to comment.