FW_CONF=/var/www/routeit/database if ! [ -f "$FW_CONF" ]; then echo; echo -e "$RED << RouteIt CANNOT START >> \c"; echo -e "$NORMAL The Firewall modules was loaded but firewall.conf file cannot be found."; echo; exit 1 else iname=0; iport=0; iprot=0; iip=0; imac=0; iactiv=0; while IFS=$'\t' read name port prot ip mac activ; do NAME[$iname]="$name"; iname=$(($iname+1)); PORT[$iport]="$port"; iport=$(($iport+1)); PROT[$iprot]="$prot"; iprot=$(($iprot+1)); IP[$iip]="$ip"; iip=$(($iip+1)); MAC[$imac]="$mac"; imac=$(($imac+1)); ACTIV[$iactiv]="$activ"; iactiv=$(($iactiv+1)); done < $FW_CONF fi FW_NAME=( ${NAME[@]} ); unset NAME; FW_PORT=( ${PORT[@]} ); unset PORT; FW_PROT=( ${PROT[@]} ); unset PROT; FW_IP=( ${IP[@]} ); unset IP; FW_MAC=( ${MAC[@]} ); unset MAC; FW_ACTIV=( ${ACTIV[@]} ); unset ACTIV; # Compound commands that will transform firewall.conf in iptables rules for ((i=0;i< ${#FW_PORT[@]};i++)); # If FW_ACTIV is equal to 1 apply this commands if 0 else do if ((${FW_ACTIV[i]})) ; then if [ "${FW_MAC[i]}" = "no" ] ; then for word in ${FW_IP[$i]} ; do echo "${FW_NAME[i]}"; done else for word in ${FW_IP[$i]} ; do echo "${FW_NAME[i]}"; done; fi else echo "# "$RED"Rule $FW_NAME is not enabled $NORMAL" fi done echo ${FW_NAME[2]};