mirror of
https://github.com/pi-hole/pi-hole.git
synced 2025-04-22 15:20:14 +00:00
Add getFTLAPIPort function
Add ftl_api_port function Signed-off-by: Christian König <ckoenig@posteo.de> Use getFTLAPIPort in pihole Signed-off-by: Christian König <ckoenig@posteo.de> Use default portfile as fallback Signed-off-by: Christian König <ckoenig@posteo.de> Fix stickler Signed-off-by: Christian König <ckoenig@posteo.de> Correct variables Signed-off-by: Christian König <ckoenig@posteo.de> Apply suggestions from code review Co-authored-by: DL6ER <DL6ER@users.noreply.github.com> Add test getFTLAPIPort returing default port Signed-off-by: Christian König <ckoenig@posteo.de> Remove unused code from test_key_val_replacement_works Signed-off-by: Christian König <ckoenig@posteo.de> Add getFTLAPIPort_custom test Signed-off-by: Christian König <ckoenig@posteo.de> Fix output format Signed-off-by: Christian König <ckoenig@posteo.de> Add debugging Signed-off-by: Christian König <ckoenig@posteo.de> Remove debugging and fix function Signed-off-by: Christian König <ckoenig@posteo.de>
This commit is contained in:
parent
bd956b5f16
commit
42424b515b
3 changed files with 55 additions and 5 deletions
|
@ -33,3 +33,30 @@ addOrEditKeyValPair() {
|
|||
echo "${key}=${value}" >> "${file}"
|
||||
fi
|
||||
}
|
||||
|
||||
#######################
|
||||
# returns FTL's current telnet API port
|
||||
#######################
|
||||
getFTLAPIPort(){
|
||||
local -r FTLCONFFILE="/etc/pihole/pihole-FTL.conf"
|
||||
local -r DEFAULT_PORT_FILE="/run/pihole-FTL.port"
|
||||
local -r DEFAULT_FTL_PORT=4711
|
||||
local PORTFILE
|
||||
local ftl_api_port
|
||||
|
||||
if [[ -f "$FTLCONFFILE" ]]; then
|
||||
# if PORTFILE is not set in pihole-FTL.conf, use the default path
|
||||
PORTFILE="$( (grep "^PORTFILE=" $FTLCONFFILE || echo "$DEFAULT_PORT_FILE") | cut -d"=" -f2-)"
|
||||
fi
|
||||
|
||||
if [[ -s "$PORTFILE" ]]; then
|
||||
# -s: FILE exists and has a size greater than zero
|
||||
ftl_api_port=$(<"$PORTFILE")
|
||||
# Exploit prevention: unset the variable if there is malicious content
|
||||
# Verify that the value read from the file is numeric
|
||||
[[ "$ftl_api_port" =~ [^[:digit:]] ]] && unset ftl_api_port
|
||||
fi
|
||||
|
||||
# echo the port found in the portfile or default to the default port
|
||||
echo "${ftl_api_port:=$DEFAULT_FTL_PORT}"
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue