diff options
author | Renato Botelho <renato@netgate.com> | 2015-08-25 08:08:24 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2015-08-25 14:49:54 -0300 |
commit | 46bc6e545a17e77202aaf01ec0cd8d5a46567525 (patch) | |
tree | 32d18dda436ec739c67c489ceb771e8629cd926f /src/etc/rc.initial | |
parent | 4d9801c2dbd2b3e54a39578ee62b93af66607227 (diff) | |
download | pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.zip pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.tar.gz |
Move main pfSense content to src/
Diffstat (limited to 'src/etc/rc.initial')
-rwxr-xr-x | src/etc/rc.initial | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/src/etc/rc.initial b/src/etc/rc.initial new file mode 100755 index 0000000..b103bf7 --- /dev/null +++ b/src/etc/rc.initial @@ -0,0 +1,167 @@ +#!/bin/sh + +# /etc/rc.initial +# part of pfSense by Scott Ullrich +# Copyright (C) 2004-2011 Scott Ullrich, All rights reserved. +# originally based on m0n0wall (http://neon1.net/m0n0wall) +# Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>. +# All rights reserved. + +# make sure the user can't kill us by pressing Ctrl-C, +# ctrl-z, etc. +#trap : 2 +#trap : 3 +#trap : 4 + +if [ -f /etc/rc.local ]; then + RCLOCALPWD=`ps awux | grep rc.local | grep -v grep | awk '{ print $2 }'` + if [ "$RCLOCALPWD" = "" ]; then + echo ">>> Launching rc.local in background..." + sh /etc/rc.local & + sleep 1 + sh /etc/rc.local.running & + else + if [ -f /etc/rc.local.running ]; then + echo ">>> Launching rc.local.running in background..." + sh /etc/rc.local.running & + fi + fi +fi + +CONFIG="/cf/conf/config.xml" +WORD="https" + +# Set our operating platform +PLATFORM=`cat /etc/platform` + +# endless loop +while : ; do + +if [ -f /tmp/ttybug ]; then + rm /tmp/ttybug + exit && exit && logout +fi + +/etc/rc.banner + +product=`grep product_name /etc/inc/globals.inc | cut -d'"' -f4` +hidebanner=`grep hidebanner /etc/inc/globals.inc | cut -d'"' -f4` + +# Check to see if SSH is running. +if pgrep -q -a -F /var/run/sshd.pid sshd >/dev/null 2>&1; then + sshd_option="14) Disable Secure Shell (sshd)"; +else + sshd_option="14) Enable Secure Shell (sshd)"; +fi + +for i in /var/db/pfi/capable_*; do + if [ -f $i -a ! -L /cf/conf ]; then + option98="98) Move configuration file to removable device" + break + fi +done + +if [ "$PLATFORM" = "cdrom" ]; then + option99="99) Install ${product} to a hard drive, etc." +fi + +# display a cheap menu +echo "" +echo " 0) Logout (SSH only) 9) pfTop" +echo " 1) Assign Interfaces 10) Filter Logs" +echo " 2) Set interface(s) IP address 11) Restart webConfigurator" +echo " 3) Reset webConfigurator password 12) ${product} Developer Shell" +echo " 4) Reset to factory defaults 13) Upgrade from console" +echo " 5) Reboot system ${sshd_option}" +echo " 6) Halt system 15) Restore recent configuration" +echo " 7) Ping host 16) Restart PHP-FPM" +echo " 8) Shell" +echo " ${option98} " + +if [ "${option99}" != "" ]; then + /bin/echo "${option99}" +fi + +echo +read -p "Enter an option: " opmode +echo + +# see what the user has chosen +case ${opmode} in +0) + exit && exit && logout + ;; +1) + /etc/rc.initial.setports + ;; +2) + /etc/rc.initial.setlanip + ;; +3) + /etc/rc.initial.password + ;; +4) + /etc/rc.initial.defaults + ;; +5) + /etc/rc.initial.reboot + ;; +6) + /etc/rc.initial.halt + ;; +7) + /etc/rc.initial.ping + ;; +8) + /bin/tcsh + ;; +9) + /usr/local/sbin/pftop + ;; +10) + /usr/local/sbin/clog -f /var/log/filter.log + ;; +11 | 111) + /etc/rc.restart_webgui + ;; +12) + /usr/local/sbin/pfSsh.php + ;; +13) + php -f /etc/rc.initial.firmware_update + ;; +14) + php -f /etc/rc.initial.toggle_sshd + ;; +15) + /etc/rc.restore_config_backup + ;; +16) + /etc/rc.php-fpm_restart + ;; +98) + if [ ! -f /tmp/config_moved ]; then + /etc/rc.initial.store_config_to_removable_device + fi + ;; +99) + if [ -e /dev/ukbd0 ]; then + env TERM=cons25 /scripts/lua_installer + else + /scripts/lua_installer + fi + ;; +100) + if grep "$WORD" "$CONFIG"; then + links "https://localhost" + else + links "http://localhost" + fi + ;; +"") + kill $PPID ; exit + ;; +esac + +done + |