mirror of
				https://github.com/hiskang/acme.sh
				synced 2025-10-30 18:07:15 +00:00 
			
		
		
		
	dns_azure add support for validation record at domain apex
Prevent the issue described in #1442 Fix [SC1117] Backslash is literal in "\[".
This commit is contained in:
		
							parent
							
								
									aad309ee4f
								
							
						
					
					
						commit
						9e3c931b34
					
				| @ -76,10 +76,10 @@ dns_azure_add() { | ||||
|   values="{\"value\":[\"$txtvalue\"]}" | ||||
|   timestamp="$(_time)" | ||||
|   if [ "$_code" = "200" ]; then | ||||
|     vlist="$(echo "$response" | _egrep_o "\"value\"\s*:\s*\[\s*\"[^\"]*\"\s*]" | cut -d : -f 2 | tr -d "[]\"")" | ||||
|     vlist="$(echo "$response" | _egrep_o "\"value\"\\s*:\\s*\\[\\s*\"[^\"]*\"\\s*]" | cut -d : -f 2 | tr -d "[]\"")" | ||||
|     _debug "existing TXT found" | ||||
|     _debug "$vlist" | ||||
|     existingts="$(echo "$response" | _egrep_o "\"acmetscheck\"\s*:\s*\"[^\"]*\"" | _head_n 1 | cut -d : -f 2 | tr -d "\"")" | ||||
|     existingts="$(echo "$response" | _egrep_o "\"acmetscheck\"\\s*:\\s*\"[^\"]*\"" | _head_n 1 | cut -d : -f 2 | tr -d "\"")" | ||||
|     if [ -z "$existingts" ]; then | ||||
|       # the record was not created by acme.sh. Copy the exisiting entires | ||||
|       existingts=$timestamp | ||||
| @ -172,7 +172,7 @@ dns_azure_rm() { | ||||
|   _azure_rest GET "$acmeRecordURI" "" "$accesstoken" | ||||
|   timestamp="$(_time)" | ||||
|   if [ "$_code" = "200" ]; then | ||||
|     vlist="$(echo "$response" | _egrep_o "\"value\"\s*:\s*\[\s*\"[^\"]*\"\s*]" | cut -d : -f 2 | tr -d "[]\"" | grep -v "$txtvalue")" | ||||
|     vlist="$(echo "$response" | _egrep_o "\"value\"\\s*:\\s*\\[\\s*\"[^\"]*\"\\s*]" | cut -d : -f 2 | tr -d "[]\"" | grep -v "$txtvalue")" | ||||
|     values="" | ||||
|     comma="" | ||||
|     for v in $vlist; do | ||||
| @ -230,7 +230,7 @@ _azure_rest() { | ||||
|     fi | ||||
|     _ret="$?" | ||||
|     _secure_debug2 "response $response" | ||||
|     _code="$(grep "^HTTP" "$HTTP_HEADER" | _tail_n 1 | cut -d " " -f 2 | tr -d "\r\n")" | ||||
|     _code="$(grep "^HTTP" "$HTTP_HEADER" | _tail_n 1 | cut -d " " -f 2 | tr -d "\\r\\n")" | ||||
|     _debug "http response code $_code" | ||||
|     if [ "$_code" = "401" ]; then | ||||
|       # we have an invalid access token set to expired | ||||
| @ -308,7 +308,7 @@ _get_root() { | ||||
|   domain=$1 | ||||
|   subscriptionId=$2 | ||||
|   accesstoken=$3 | ||||
|   i=2 | ||||
|   i=1 | ||||
|   p=1 | ||||
| 
 | ||||
|   ## Ref: https://docs.microsoft.com/en-us/rest/api/dns/zones/list | ||||
| @ -328,9 +328,14 @@ _get_root() { | ||||
|     fi | ||||
| 
 | ||||
|     if _contains "$response" "\"name\":\"$h\"" >/dev/null; then | ||||
|       _domain_id=$(echo "$response" | _egrep_o "\{\"id\":\"[^\"]*$h\"" | head -n 1 | cut -d : -f 2 | tr -d \") | ||||
|       _domain_id=$(echo "$response" | _egrep_o "\\{\"id\":\"[^\"]*$h\"" | head -n 1 | cut -d : -f 2 | tr -d \") | ||||
|       if [ "$_domain_id" ]; then | ||||
|         _sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p) | ||||
|         if [ "$i" = 1 ]; then | ||||
|           #create the record at the domain apex (@) if only the domain name was provided as --domain-alias | ||||
|           _sub_domain="@" | ||||
|         else | ||||
|           _sub_domain=$(echo "$domain" | cut -d . -f 1-$p) | ||||
|         fi | ||||
|         _domain=$h | ||||
|         return 0 | ||||
|       fi | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user