#!/bin/bash -eu

. shell-error
. shell-source

source_if_exists /.initrd/initenv

RDSHELL_MODE="${RDSHELL_MODE:-shell}"
source_if_exists /etc/sysconfig/rdshell

# Disallow console access
[ "${PANIC-}" != 0 ] || [ "$RDSHELL_MODE" != shell ] || RDSHELL_MODE=disable

shcmd='/bin/sh -l'
case "$RDSHELL_MODE" in
	shell)
		;;
	login)
		shcmd='sulogin'
		;;
	disable)
		printf 'Shell access is not allowed.\n'
		exit 0
		;;
esac

exec </dev/console >/dev/console 2>&1

for f in /lib/shell/*; do
	[ -x "$f" ] || break
	"$f" ||:
done

[ "$#" -eq 0 ] ||
	printf '%s: %s\n' "${0##*/}" "$1"

setsid -c $shcmd
