# #
###############################################################################
-zone_dir() {
- local zone=${1}
-
- echo "${NETWORK_ZONE_DIR}/zones/${zone}"
-}
-
zone_exists() {
local zone=${1}
assert isset zone
- [ -d "$(zone_dir ${zone})" ]
+ [ -d "${NETWORK_ZONES_DIR}/${zone}" ]
}
zone_match() {
local zone=${1}
assert isset zone
- config_get_hook $(zone_dir ${zone})/settings
+ config_get_hook "${NETWORK_ZONES_DIR}/${zone}/settings"
}
zone_start() {
return ${EXIT_ERROR}
fi
- mkdir -p $(zone_dir ${zone})
-
# Create directories for configs and ports
- mkdir -p $(zone_dir ${zone})/{configs,ports}
+ local what
+ for what in configs ports; do
+ make_directory "${NETWORK_ZONES_DIR}/${zone}/${what}"
+ done
hook_zone_exec "${hook}" "new" "${zone}" "$@"
local ret=$?
zone_disable "${zone}"
# Rename the configuration files
- mv -f "$(zone_dir "${zone}")" "$(zone_dir "${name}")"
+ mv -f "${NETWORK_ZONES_DIR}/${zone}" "${NETWORK_ZONES_DIR}/${name}"
# Enable the zone if it was enabled before
[ ${zone_was_enabled} -eq ${EXIT_TRUE} ] && zone_enable "${name}"
# Disable zone auto-start
zone_disable "${zone}"
- rm -rf "$(zone_dir "${zone}")"
+ rm -rf "${NETWORK_ZONES_DIR}/${zone}"
}
zone_up() {
assert isset zone
local port
- for port in $(list_directory "$(zone_dir ${zone})/ports"); do
+ for port in $(list_directory "${NETWORK_ZONES_DIR}/${zone}/ports"); do
if port_exists "${port}"; then
echo "${port}"
fi
local counter=0
local port
- for port in $(list_directory "$(zone_dir "${zone}")/ports"); do
+ for port in $(list_directory "${NETWORK_ZONES_DIR}/${zone}/ports"); do
if port_exists "${port}"; then
counter=$(( ${counter} + 1 ))
fi
assert isset zone
assert isset port
- [ -e "$(zone_dir ${zone})/ports/${port}" ]
+ [ -e "${NETWORK_ZONES_DIR}/${zone}/ports/${port}" ]
}
zone_config() {
zones_get_all() {
local zone
- for zone in $(list_directory "$(zone_dir)"); do
+ for zone in $(list_directory "${NETWORK_ZONES_DIR}"); do
if zone_exists ${zone}; then
echo "${zone}"
fi
zone_ports_list() {
local zone=${1}
- list_directory "$(zone_dir ${zone})/ports"
+ list_directory "${NETWORK_ZONES_DIR}/${zone}/ports"
}
zone_port_attach() {
zone_configs_list() {
local zone=${1}
- list_directory "$(zone_dir ${zone})/configs"
+ list_directory "${NETWORK_ZONES_DIR}/${zone}/configs"
}
zone_config_get_new_id() {
assert [ $# -eq 1 ]
local zone=${1}
- local zone_path=$(zone_dir ${zone})
+ local zone_path="${NETWORK_ZONES_DIR}/${zone}"
local i=0
while true; do
local zone=${1}
local id=${2}
- local zone_path=$(zone_dir ${zone})
+ local zone_path="${NETWORK_ZONES_DIR}/${zone}"
[ -f ${zone_path}/configs/*.${id} ];
}
hook_config_get_all
}
-zone_file() {
- local zone=${1}
-
- assert isset zone
-
- echo "$(zone_dir ${zone})/settings"
-}
-
zone_settings_read() {
local zone=${1}
assert isset zone
# Save the HOOK variable.
local hook="${HOOK}"
- settings_read "$(zone_file "${zone}")" ${args}
+ settings_read "${NETWORK_ZONES_DIR}/${zone}/settings" ${args}
# Restore hook.
HOOK="${hook}"
fi
list_append args ${HOOK_SETTINGS}
- settings_write "$(zone_file ${zone})" ${args}
+ settings_write "${NETWORK_ZONES_DIR}/${zone}/settings" ${args}
}
zone_settings_set() {
list_append args "$@"
fi
- local path="$(zone_dir "${zone}")/configs/${config}"
+ local path="${NETWORK_ZONES_DIR}/${zone}/configs/${config}"
settings_read "${path}" ${args}
}
fi
list_append args ${HOOK_CONFIG_SETTINGS}
- local path="$(zone_dir "${zone}")/configs/${hook}.${id}"
+ local path="${NETWORK_ZONES_DIR}/${zone}/configs/${hook}.${id}"
settings_write "${path}" ${args}
}
local zone="${1}"
local config="${2}"
- local path="$(zone_dir "${zone}")/configs/${config}"
+ local path="${NETWORK_ZONES_DIR}/${zone}/configs/${config}"
# Check if path is valid
if [ ! -f ${path} ]; then
list_append args "$@"
fi
- local path="$(zone_dir "${zone}")/ports/${port}"
+ local path="${NETWORK_ZONES_DIR}/${zone}/ports/${port}"
settings_read "${path}" ${args}
}
fi
list_append args ${HOOK_PORT_SETTINGS}
- local path="$(zone_dir "${zone}")/ports/${port}"
+ local path="${NETWORK_ZONES_DIR}/${zone}/ports/${port}"
settings_write "${path}" ${args}
}
local zone="${1}"
local port="${2}"
- local path="$(zone_dir "${zone}")/ports/${port}"
+ local path="${NETWORK_ZONES_DIR}/${zone}/ports/${port}"
settings_remove "${path}"
}