mirror of
https://github.com/m8tin/cis.git
synced 2026-08-01 11:47:31 +02:00
hardend printf using --
This commit is contained in:
+14
-9
@@ -185,8 +185,8 @@ function prepare.setPATH() {
|
|||||||
function base.abort() {
|
function base.abort() {
|
||||||
# Minimalmode in case of emergency
|
# Minimalmode in case of emergency
|
||||||
[[ "${COLOR[SET]:+isset}" != "isset" ]] \
|
[[ "${COLOR[SET]:+isset}" != "isset" ]] \
|
||||||
&& printf "\n%b\n" "Script aborted during preparation (State: '${CIS[SET]:-""}')!" >&2 \
|
&& printf -- "\n%b\n" "Script aborted during preparation (State: '${CIS[SET]:-""}')!" >&2 \
|
||||||
&& printf " %b\n\n" "${@}" >&2 \
|
&& printf -- " %b\n\n" "${@}" >&2 \
|
||||||
&& exit 1
|
&& exit 1
|
||||||
|
|
||||||
local _FULLSCRIPTNAME=$(realpath "${0}" 2> /dev/null)
|
local _FULLSCRIPTNAME=$(realpath "${0}" 2> /dev/null)
|
||||||
@@ -293,7 +293,7 @@ function base.printEnvironment() {
|
|||||||
echo "Content of array CIS: (all folders end with an tailing '/')"
|
echo "Content of array CIS: (all folders end with an tailing '/')"
|
||||||
echo "-----------------------------------------------------------"
|
echo "-----------------------------------------------------------"
|
||||||
for _KEY in "${!CIS[@]}"; do
|
for _KEY in "${!CIS[@]}"; do
|
||||||
printf " %s: %s\n" "CIS[${_KEY}]" "${CIS[${_KEY}]}"
|
printf -- " %s: %s\n" "CIS[${_KEY}]" "${CIS[${_KEY}]}"
|
||||||
done
|
done
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@@ -333,7 +333,7 @@ function base.printOwnDomain() {
|
|||||||
|
|
||||||
[ -n "${_OVERRIDE_DOMAIN}" ] \
|
[ -n "${_OVERRIDE_DOMAIN}" ] \
|
||||||
&& [ "${_OVERRIDE_DOMAIN}" != "${_BOOT_DOMAIN}" ] \
|
&& [ "${_OVERRIDE_DOMAIN}" != "${_BOOT_DOMAIN}" ] \
|
||||||
&& printf "WARNING: Domain has been overridden by: %s\n\n" "${_OVERRIDE_DOMAIN_FILE}" >&2 \
|
&& printf -- "WARNING: Domain has been overridden by: %s\n\n" "${_OVERRIDE_DOMAIN_FILE}" >&2 \
|
||||||
&& echo "${_OVERRIDE_DOMAIN}" \
|
&& echo "${_OVERRIDE_DOMAIN}" \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
|
||||||
@@ -341,7 +341,7 @@ function base.printOwnDomain() {
|
|||||||
&& echo "${_BOOT_DOMAIN}" \
|
&& echo "${_BOOT_DOMAIN}" \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
|
||||||
printf "It was impossible to find out the domain of this host, please prepare this host first.\n" >&2
|
printf -- "It was impossible to find out the domain of this host, please prepare this host first.\n" >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -365,7 +365,7 @@ function base.printWithColor() {
|
|||||||
_MESSAGE=$(cat)
|
_MESSAGE=$(cat)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "%b%b%b" "${_COLOR:-""}" "${_MESSAGE}" "${_NO_COLOR:-""}" \
|
printf -- "%b%b%b" "${_COLOR:-""}" "${_MESSAGE}" "${_NO_COLOR:-""}" \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
@@ -373,13 +373,18 @@ function base.printWithColor() {
|
|||||||
|
|
||||||
function base.set() {
|
function base.set() {
|
||||||
local _VARNAME="${1:?"base.set(): Missing first parameter VARNAME"}"
|
local _VARNAME="${1:?"base.set(): Missing first parameter VARNAME"}"
|
||||||
|
local _CLEAN_VARNAME="${_VARNAME//[^a-zA-Z0-9_]/}"
|
||||||
local _VALUE="${2}"
|
local _VALUE="${2}"
|
||||||
local _REGEX="${3:?"base.set(): Missing third parameter REGEX"}"
|
local _REGEX="${3:?"base.set(): Missing third parameter REGEX"}"
|
||||||
|
|
||||||
|
[ "${_VARNAME}" != "${_CLEAN_VARNAME}" ] \
|
||||||
|
&& echo "❌ Security base.set(): Invalid name of variable: ${_VARNAME}" >&2 \
|
||||||
|
&& exit 1
|
||||||
|
|
||||||
# Sets the value to a global variable with name $_VARNAME
|
# Sets the value to a global variable with name $_VARNAME
|
||||||
[[ "${_VALUE}" =~ $_REGEX ]] \
|
[[ "${_VALUE}" =~ $_REGEX ]] \
|
||||||
&& printf -v "${_VARNAME}" "%s" "${_VALUE}" \
|
&& printf -v "${_CLEAN_VARNAME}" -- "%s" "${_VALUE}" \
|
||||||
&& readonly "${_VARNAME}" \
|
&& readonly "${_CLEAN_VARNAME}" \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
|
||||||
echo "❌ Security base.set(): Validation '$_REGEX' failed for ${_VARNAME}" >&2
|
echo "❌ Security base.set(): Validation '$_REGEX' failed for ${_VARNAME}" >&2
|
||||||
@@ -404,7 +409,7 @@ if [ "${BASH_SOURCE[0]}" == "${0}" ]; then
|
|||||||
echo
|
echo
|
||||||
echo "Now you can use the functions provided by this module inside your script:"
|
echo "Now you can use the functions provided by this module inside your script:"
|
||||||
echo "-------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------"
|
||||||
declare -F | grep "base." | cut -d" " -f3 | xargs -n1 printf " %s\n"
|
declare -F | grep "base." | cut -d" " -f3 | xargs -n1 printf -- " %s\n"
|
||||||
exit 1
|
exit 1
|
||||||
elif [ "${CIS[SET]}" == "ready" ]; then
|
elif [ "${CIS[SET]}" == "ready" ]; then
|
||||||
base.log debug "Module '${BASH_SOURCE[0]}' already loaded"
|
base.log debug "Module '${BASH_SOURCE[0]}' already loaded"
|
||||||
|
|||||||
Reference in New Issue
Block a user