diff options
author | Christian König <ckoenig@posteo.de> | 2022-10-21 13:25:23 +0300 |
---|---|---|
committer | Christian König <ckoenig@posteo.de> | 2022-10-21 14:02:21 +0300 |
commit | c322458dcb568604c94b6c359863b21fd88dc13a (patch) | |
tree | 946a31b60a2c60646248f12b124a407fc2b1050f | |
parent | 469a267150bbe845c256f13c61c9f595ccfdb08b (diff) |
Escape dots in local DNS records/CNAMES before removing them
Signed-off-by: Christian König <ckoenig@posteo.de>
-rwxr-xr-x | advanced/Scripts/webpage.sh | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/advanced/Scripts/webpage.sh b/advanced/Scripts/webpage.sh index e02e03f9..f4a452fe 100755 --- a/advanced/Scripts/webpage.sh +++ b/advanced/Scripts/webpage.sh @@ -627,6 +627,12 @@ checkDomain() echo "${validDomain}" } +escapeDots() +{ + escaped=$(sed 's/\./\\./g' <<< "$1" ) + echo "${escaped}" +} + addAudit() { shift # skip "-a" @@ -702,6 +708,7 @@ RemoveCustomDNSAddress() { validHost="$(checkDomain "${host}")" if [[ -n "${validHost}" ]]; then if valid_ip "${ip}" || valid_ip6 "${ip}" ; then + validHost=$(escapeDots "${validHost}") sed -i "/^${ip} ${validHost}$/Id" "${dnscustomfile}" else echo -e " ${CROSS} Invalid IP has been passed" @@ -755,7 +762,9 @@ RemoveCustomCNAMERecord() { if [[ -n "${validDomain}" ]]; then validTarget="$(checkDomain "${target}")" if [[ -n "${validTarget}" ]]; then - sed -i "/cname=${validDomain},${validTarget}$/Id" "${dnscustomcnamefile}" + validDomain=$(escapeDots "${validDomain}") + validTarget=$(escapeDots "${validTarget}") + sed -i "/^cname=${validDomain},${validTarget}$/Id" "${dnscustomcnamefile}" else echo " ${CROSS} Invalid Target Passed!" exit 1 |