Workaround to combine options first, code cleanup/maintenance
This commit is contained in:
@@ -56,17 +56,17 @@ validate_ip() {
|
|||||||
IP6_MODE="new"
|
IP6_MODE="new"
|
||||||
else
|
else
|
||||||
local IFS
|
local IFS
|
||||||
if echo "${IP}" | grep -E '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$' >/dev/null; then
|
if echo "${IP}" | grep -Eq '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$'; then
|
||||||
TEST_IP=$(echo ${IP} | cut -d / -f1)
|
TEST_IP=$(echo ${IP} | cut -d / -f1)
|
||||||
IFS=.
|
IFS=.
|
||||||
set ${TEST_IP}
|
set ${TEST_IP}
|
||||||
for quad in 1 2 3 4; do
|
for quad in 1 2 3 4; do
|
||||||
if eval [ \$$quad -gt 255 ]; then
|
if eval [ \$$quad -gt 255 ]; then
|
||||||
echo "fail (${TEST_IP})"
|
echo "Invalid: (${TEST_IP})"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if ifconfig | grep -w "$TEST_IP" >/dev/null; then
|
if ifconfig | grep -qw "$TEST_IP"; then
|
||||||
echo -e "${COLOR_YELLOW}Warning: ip address already in use (${TEST_IP}).${COLOR_RESET}"
|
echo -e "${COLOR_YELLOW}Warning: ip address already in use (${TEST_IP}).${COLOR_RESET}"
|
||||||
else
|
else
|
||||||
echo -e "${COLOR_GREEN}Valid: (${IP}).${COLOR_RESET}"
|
echo -e "${COLOR_GREEN}Valid: (${IP}).${COLOR_RESET}"
|
||||||
@@ -146,12 +146,15 @@ generate_vnet_jail_conf() {
|
|||||||
## define uniq_epair
|
## define uniq_epair
|
||||||
local list_jails_num=$(bastille list jails | wc -l | awk '{print $1}')
|
local list_jails_num=$(bastille list jails | wc -l | awk '{print $1}')
|
||||||
local num_range=$(expr "${list_jails_num}" + 1)
|
local num_range=$(expr "${list_jails_num}" + 1)
|
||||||
|
jail_list=$(bastille list jail)
|
||||||
for _num in $(seq 0 "${num_range}"); do
|
for _num in $(seq 0 "${num_range}"); do
|
||||||
if ! grep "e0b_bastille${_num}" "${bastille_jailsdir}"/*/jail.conf >/dev/null; then
|
for _jail in ${jail_list}; do
|
||||||
|
if ! grep -q "e0b_bastille${_num}" "${bastille_jailsdir}"/${_jail}/jail.conf; then
|
||||||
uniq_epair="bastille${_num}"
|
uniq_epair="bastille${_num}"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
done
|
||||||
|
|
||||||
## generate config
|
## generate config
|
||||||
cat << EOF > ${bastille_jail_conf}
|
cat << EOF > ${bastille_jail_conf}
|
||||||
@@ -374,14 +377,32 @@ if [ $(echo $3 | grep '@' ) ]; then
|
|||||||
BASTILLE_JAIL_INTERFACES=$( echo $3 | awk -F@ '{print $1}')
|
BASTILLE_JAIL_INTERFACES=$( echo $3 | awk -F@ '{print $1}')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TYPE="$1"
|
## reset this options
|
||||||
|
THICK_JAIL=""
|
||||||
|
VNET_JAIL=""
|
||||||
|
|
||||||
|
## handle combined options
|
||||||
|
if [ "${1}" = "-T" -o "${1}" = "--thick" -o "${1}" = "thick" ] && \
|
||||||
|
[ "${2}" = "-V" -o "${2}" = "--vnet" -o "${2}" = "vnet" ]; then
|
||||||
|
|
||||||
|
NAME="$3"
|
||||||
|
RELEASE="$4"
|
||||||
|
IP="$5"
|
||||||
|
INTERFACE="$6"
|
||||||
|
if [ $# -gt 6 ] || [ $# -lt 5 ]; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
THICK_JAIL="1"
|
||||||
|
VNET_JAIL="1"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
## handle single options
|
||||||
NAME="$2"
|
NAME="$2"
|
||||||
RELEASE="$3"
|
RELEASE="$3"
|
||||||
IP="$4"
|
IP="$4"
|
||||||
INTERFACE="$5"
|
INTERFACE="$5"
|
||||||
|
|
||||||
## handle additional options
|
case "${1}" in
|
||||||
case "${TYPE}" in
|
|
||||||
-T|--thick|thick)
|
-T|--thick|thick)
|
||||||
if [ $# -gt 5 ] || [ $# -lt 4 ]; then
|
if [ $# -gt 5 ] || [ $# -lt 4 ]; then
|
||||||
usage
|
usage
|
||||||
@@ -404,13 +425,13 @@ case "${TYPE}" in
|
|||||||
if [ $# -gt 4 ] || [ $# -lt 3 ]; then
|
if [ $# -gt 4 ] || [ $# -lt 3 ]; then
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
THICK_JAIL=""
|
|
||||||
NAME="$1"
|
NAME="$1"
|
||||||
RELEASE="$2"
|
RELEASE="$2"
|
||||||
IP="$3"
|
IP="$3"
|
||||||
INTERFACE="$4"
|
INTERFACE="$4"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
## don't allow for dots(.) in container names
|
## don't allow for dots(.) in container names
|
||||||
if [ $(echo "${NAME}" | grep "[.]") ]; then
|
if [ $(echo "${NAME}" | grep "[.]") ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user