#!/bin/sh # $Id$ # /etc/rc.initial # part of pfSense by Scott Ullrich # Copyright (C) 2004 Scott Ullrich, All rights reserved. # originally based on m0n0wall (http://neon1.net/m0n0wall) # Copyright (C) 2003-2004 Manuel Kasper . # All rights reserved. if [ -e /usr/local/etc/rc.d/dev_bootstrap.sh ]; then echo echo "A developer bootstrap is most likely in progress." echo "This operation bootstraps all developer files from" echo "pfSense.com and also FreeBSD.org and builds a ISO" echo "to verify the environment is sane." echo echo "During this process, /usr/src is automatically downloaded" echo "and many supporting files are built, installed, etc." echo echo -n "Would you like to tail the progress (y/n) [n]? " read ANSWER if [ "$ANSWER" = "y" ]; then echo echo "Tailing developer bootstrap process." echo echo "Press CTRL-C to abort." echo echo "Note, this tailing process will exit once the operation is completed." echo tail -f /tmp/bootup_messages fi fi # make sure the user can't kill us by pressing Ctrl-C, # ctrl-z, etc. #trap : 2 #trap : 3 #trap : 4 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=`cat /etc/inc/globals.inc | grep product_name | cut -d'"' -f4` hidebanner=`cat /etc/inc/globals.inc | grep hidebanner | cut -d'"' -f4` # display a cheap menu echo echo echo " ${product} console setup " echo "***********************" echo " 0) Logout (SSH only)" echo " 1) Assign Interfaces" echo " 2) Set interface(s) IP address" echo " 3) Reset webConfigurator password" echo " 4) Reset to factory defaults" echo " 5) Reboot system" echo " 6) Halt system" echo " 7) Ping host" echo " 8) Shell" echo " 9) PFtop" echo "10) Filter Logs" echo "11) Restart webConfigurator" echo "12) ${product} PHP shell" echo "13) Upgrade from console" SSHD=`netstat -an | grep "*.22" | wc -l` if [ "$SSHD" -gt 0 ]; then echo "14) Disable Secure Shell (sshd)"; else echo "14) Enable Secure Shell (sshd)"; fi for i in /var/db/pfi/capable_*; do if [ -f $i -a ! -L /cf/conf ]; then echo "98) Move configuration file to removable device" break fi done if [ "$PLATFORM" = "cdrom" ]; then echo "99) Install ${product} to a hard drive/memory drive, etc." echo 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/sbin/tcpdump -n -e -ttt -i pflog0 ;; 11) /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.banner ;; 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 ;; "") killall login ; exit ;; esac done