Fix sed special characters handling

This commit is contained in:
2024-08-22 13:32:39 +03:00
parent f8d1f35d20
commit e74de52544

View File

@@ -131,7 +131,7 @@ _timeweb_split_acme_fqdn() {
while while
TW_Domain=$( TW_Domain=$(
echo "$TW_Domains" | echo "$TW_Domains" |
sed -n 's/.*{\([^{]*"fqdn":"[^"]*"[^}]*\)}.*/\1/p' sed -n 's/.*{[^{]*"fqdn":"\([^"]*\)"[^}]*}.*/\1/p'
) )
[ -n "$TW_Domain" ] && { [ -n "$TW_Domain" ] && {
@@ -139,7 +139,7 @@ _timeweb_split_acme_fqdn() {
TW_Domains=$( TW_Domains=$(
echo "$TW_Domains" | echo "$TW_Domains" |
sed "s/{$TW_Domain}//" sed 's/{\([^{]*"fqdn":"'"$TW_Domain"'"[^}]*\)}//'
) )
continue continue
} }
@@ -168,7 +168,7 @@ _timeweb_get_dns_txt() {
while while
Dns_Record=$( Dns_Record=$(
echo "$TW_Dns_Records" | echo "$TW_Dns_Records" |
sed -n "s/.*{\([^\{]*{[^\{]*${Acme_Txt}[^\}]*}[^\}]*\)}.*/\1/p" sed -n 's/.*{\([^{]*{[^{]*'"$Acme_Txt"'[^}]*}[^}]*\)}.*/\1/p'
) )
[ -n "$Dns_Record" ] && { [ -n "$Dns_Record" ] && {
@@ -176,7 +176,7 @@ _timeweb_get_dns_txt() {
TW_Dns_Records=$( TW_Dns_Records=$(
echo "$TW_Dns_Records" | echo "$TW_Dns_Records" |
sed "s/{$Dns_Record}//" sed 's/{\([^{]*{[^{]*'"$Acme_Txt"'[^}]*}[^}]*\)}//'
) )
continue continue
} }
@@ -280,25 +280,20 @@ _timeweb_list_dns_records() {
_timeweb_is_main_domain() { _timeweb_is_main_domain() {
_debug "Checking if \"$1\" is the main domain of the ACME DNS-01 challenge FQDN." _debug "Checking if \"$1\" is the main domain of the ACME DNS-01 challenge FQDN."
TW_Domain_Fqdn=$( [ -z "$1" ] && {
echo "$1" |
sed 's/.*"fqdn":"\([^"]*\)".*/\1/'
)
[ -z "$TW_Domain_Fqdn" ] && {
_debug "Failed to extract FQDN. Skipping domain." _debug "Failed to extract FQDN. Skipping domain."
return 1 return 1
} }
! echo ".$Acme_Fqdn" | grep -qi "\.$TW_Domain_Fqdn$" && { ! echo ".$Acme_Fqdn" | grep -qi "\.$1$" && {
_debug "Domain does not match the ACME DNS-01 challenge FQDN. Skipping domain." _debug "Domain does not match the ACME DNS-01 challenge FQDN. Skipping domain."
return 1 return 1
} }
TW_Main_Domain=$TW_Domain_Fqdn TW_Main_Domain=$1
TW_Subdomains=$( TW_Subdomains=$(
echo "$Acme_Fqdn" | echo "$Acme_Fqdn" |
sed "s/\.*.\{${#TW_Domain_Fqdn}\}$//" sed "s/\.*.\{${#1}\}$//"
) )
_debug "Matched domain. ACME DNS-01 challenge FQDN split as [$TW_Subdomains].[$TW_Main_Domain]." _debug "Matched domain. ACME DNS-01 challenge FQDN split as [$TW_Subdomains].[$TW_Main_Domain]."