Unverified Commit b6508ccc authored by neil's avatar neil Committed by GitHub
Browse files

Merge pull request #3108 from acmesh-official/ga

support Github Actions
parents d5d38b33 d9e7cf65
name: CI
on: [push, pull_request]
jobs:
formatCheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Shellcheck
run: sudo apt-get install -y shellcheck
- name: DoShellcheck
run: shellcheck -V && shellcheck -e SC2181 **/*.sh && echo "shellcheck OK"
- name: Install shfmt
run: curl -sSL https://github.com/mvdan/sh/releases/download/v3.1.2/shfmt_v3.1.2_linux_amd64 -o ~/shfmt && chmod +x ~/shfmt
- name: shfmt
run: ~/shfmt -l -w -i 2 . ; git diff --exit-code && echo "shfmt OK"
This diff is collapsed.
...@@ -69,8 +69,8 @@ exim4_deploy() { ...@@ -69,8 +69,8 @@ exim4_deploy() {
cp "$_exim4_conf" "$_backup_conf" cp "$_exim4_conf" "$_backup_conf"
_info "Modify exim4 conf: $_exim4_conf" _info "Modify exim4 conf: $_exim4_conf"
if _setopt "$_exim4_conf" "tls_certificate" "=" "$_real_fullchain" \ if _setopt "$_exim4_conf" "tls_certificate" "=" "$_real_fullchain" &&
&& _setopt "$_exim4_conf" "tls_privatekey" "=" "$_real_key"; then _setopt "$_exim4_conf" "tls_privatekey" "=" "$_real_key"; then
_info "Set config success!" _info "Set config success!"
else else
_err "Config exim4 server error, please report bug to us." _err "Config exim4 server error, please report bug to us."
......
...@@ -195,8 +195,8 @@ then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; d ...@@ -195,8 +195,8 @@ then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; d
fi fi
if [ -n "$Le_Deploy_ssh_cafile" ]; then if [ -n "$Le_Deploy_ssh_cafile" ]; then
_pipe=">" _pipe=">"
if [ "$Le_Deploy_ssh_cafile" = "$Le_Deploy_ssh_keyfile" ] \ if [ "$Le_Deploy_ssh_cafile" = "$Le_Deploy_ssh_keyfile" ] ||
|| [ "$Le_Deploy_ssh_cafile" = "$Le_Deploy_ssh_certfile" ]; then [ "$Le_Deploy_ssh_cafile" = "$Le_Deploy_ssh_certfile" ]; then
# if filename is same as previous file then append. # if filename is same as previous file then append.
_pipe=">>" _pipe=">>"
elif [ "$Le_Deploy_ssh_backup" = "yes" ]; then elif [ "$Le_Deploy_ssh_backup" = "yes" ]; then
...@@ -222,9 +222,9 @@ then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; d ...@@ -222,9 +222,9 @@ then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; d
fi fi
if [ -n "$Le_Deploy_ssh_fullchain" ]; then if [ -n "$Le_Deploy_ssh_fullchain" ]; then
_pipe=">" _pipe=">"
if [ "$Le_Deploy_ssh_fullchain" = "$Le_Deploy_ssh_keyfile" ] \ if [ "$Le_Deploy_ssh_fullchain" = "$Le_Deploy_ssh_keyfile" ] ||
|| [ "$Le_Deploy_ssh_fullchain" = "$Le_Deploy_ssh_certfile" ] \ [ "$Le_Deploy_ssh_fullchain" = "$Le_Deploy_ssh_certfile" ] ||
|| [ "$Le_Deploy_ssh_fullchain" = "$Le_Deploy_ssh_cafile" ]; then [ "$Le_Deploy_ssh_fullchain" = "$Le_Deploy_ssh_cafile" ]; then
# if filename is same as previous file then append. # if filename is same as previous file then append.
_pipe=">>" _pipe=">>"
elif [ "$Le_Deploy_ssh_backup" = "yes" ]; then elif [ "$Le_Deploy_ssh_backup" = "yes" ]; then
......
...@@ -65,9 +65,9 @@ vsftpd_deploy() { ...@@ -65,9 +65,9 @@ vsftpd_deploy() {
cp "$_vsftpd_conf" "$_backup_conf" cp "$_vsftpd_conf" "$_backup_conf"
_info "Modify vsftpd conf: $_vsftpd_conf" _info "Modify vsftpd conf: $_vsftpd_conf"
if _setopt "$_vsftpd_conf" "rsa_cert_file" "=" "$_real_fullchain" \ if _setopt "$_vsftpd_conf" "rsa_cert_file" "=" "$_real_fullchain" &&
&& _setopt "$_vsftpd_conf" "rsa_private_key_file" "=" "$_real_key" \ _setopt "$_vsftpd_conf" "rsa_private_key_file" "=" "$_real_key" &&
&& _setopt "$_vsftpd_conf" "ssl_enable" "=" "YES"; then _setopt "$_vsftpd_conf" "ssl_enable" "=" "YES"; then
_info "Set config success!" _info "Set config success!"
else else
_err "Config vsftpd server error, please report bug to us." _err "Config vsftpd server error, please report bug to us."
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
ARVAN_API_URL="https://napi.arvancloud.com/cdn/4.0/domains" ARVAN_API_URL="https://napi.arvancloud.com/cdn/4.0/domains"
#Author: Ehsan Aliakbar #Author: Ehsan Aliakbar
#Report Bugs here: https://github.com/Neilpang/acme.sh #Report Bugs here: https://github.com/Neilpang/acme.sh
# #
######## Public functions ##################### ######## Public functions #####################
......
...@@ -222,21 +222,21 @@ _use_instance_role() { ...@@ -222,21 +222,21 @@ _use_instance_role() {
_use_metadata() { _use_metadata() {
_aws_creds="$( _aws_creds="$(
_get "$1" "" 1 \ _get "$1" "" 1 |
| _normalizeJson \ _normalizeJson |
| tr '{,}' '\n' \ tr '{,}' '\n' |
| while read -r _line; do while read -r _line; do
_key="$(echo "${_line%%:*}" | tr -d '"')" _key="$(echo "${_line%%:*}" | tr -d '"')"
_value="${_line#*:}" _value="${_line#*:}"
_debug3 "_key" "$_key" _debug3 "_key" "$_key"
_secure_debug3 "_value" "$_value" _secure_debug3 "_value" "$_value"
case "$_key" in case "$_key" in
AccessKeyId) echo "AWS_ACCESS_KEY_ID=$_value" ;; AccessKeyId) echo "AWS_ACCESS_KEY_ID=$_value" ;;
SecretAccessKey) echo "AWS_SECRET_ACCESS_KEY=$_value" ;; SecretAccessKey) echo "AWS_SECRET_ACCESS_KEY=$_value" ;;
Token) echo "AWS_SESSION_TOKEN=$_value" ;; Token) echo "AWS_SESSION_TOKEN=$_value" ;;
esac esac
done \ done |
| paste -sd' ' - paste -sd' ' -
)" )"
_secure_debug "_aws_creds" "$_aws_creds" _secure_debug "_aws_creds" "$_aws_creds"
......
...@@ -220,7 +220,7 @@ _azure_rest() { ...@@ -220,7 +220,7 @@ _azure_rest() {
export _H2="accept: application/json" export _H2="accept: application/json"
export _H3="Content-Type: application/json" export _H3="Content-Type: application/json"
# clear headers from previous request to avoid getting wrong http code on timeouts # clear headers from previous request to avoid getting wrong http code on timeouts
:>"$HTTP_HEADER" : >"$HTTP_HEADER"
_debug "$ep" _debug "$ep"
if [ "$m" != "GET" ]; then if [ "$m" != "GET" ]; then
_secure_debug2 "data $data" _secure_debug2 "data $data"
......
...@@ -115,9 +115,9 @@ dns_conoha_rm() { ...@@ -115,9 +115,9 @@ dns_conoha_rm() {
return 1 return 1
fi fi
record_id=$(printf "%s" "$response" | _egrep_o '{[^}]*}' \ record_id=$(printf "%s" "$response" | _egrep_o '{[^}]*}' |
| grep '"type":"TXT"' | grep "\"data\":\"$txtvalue\"" | _egrep_o "\"id\":\"[^\"]*\"" \ grep '"type":"TXT"' | grep "\"data\":\"$txtvalue\"" | _egrep_o "\"id\":\"[^\"]*\"" |
| _head_n 1 | cut -d : -f 2 | tr -d \") _head_n 1 | cut -d : -f 2 | tr -d \")
if [ -z "$record_id" ]; then if [ -z "$record_id" ]; then
_err "Can not get record id to remove." _err "Can not get record id to remove."
return 1 return 1
......
...@@ -18,23 +18,23 @@ ...@@ -18,23 +18,23 @@
######## ########
dns_cyon_add() { dns_cyon_add() {
_cyon_load_credentials \ _cyon_load_credentials &&
&& _cyon_load_parameters "$@" \ _cyon_load_parameters "$@" &&
&& _cyon_print_header "add" \ _cyon_print_header "add" &&
&& _cyon_login \ _cyon_login &&
&& _cyon_change_domain_env \ _cyon_change_domain_env &&
&& _cyon_add_txt \ _cyon_add_txt &&
&& _cyon_logout _cyon_logout
} }
dns_cyon_rm() { dns_cyon_rm() {
_cyon_load_credentials \ _cyon_load_credentials &&
&& _cyon_load_parameters "$@" \ _cyon_load_parameters "$@" &&
&& _cyon_print_header "delete" \ _cyon_print_header "delete" &&
&& _cyon_login \ _cyon_login &&
&& _cyon_change_domain_env \ _cyon_change_domain_env &&
&& _cyon_delete_txt \ _cyon_delete_txt &&
&& _cyon_logout _cyon_logout
} }
######################### #########################
......
...@@ -115,23 +115,23 @@ _da_api() { ...@@ -115,23 +115,23 @@ _da_api() {
_debug response "$response" _debug response "$response"
case "${cmd}" in case "${cmd}" in
CMD_API_DNS_CONTROL) CMD_API_DNS_CONTROL)
# Parse the result in general # Parse the result in general
# error=0&text=Records Deleted&details= # error=0&text=Records Deleted&details=
# error=1&text=Cannot View Dns Record&details=No domain provided # error=1&text=Cannot View Dns Record&details=No domain provided
err_field="$(_getfield "$response" 1 '&')" err_field="$(_getfield "$response" 1 '&')"
txt_field="$(_getfield "$response" 2 '&')" txt_field="$(_getfield "$response" 2 '&')"
details_field="$(_getfield "$response" 3 '&')" details_field="$(_getfield "$response" 3 '&')"
error="$(_getfield "$err_field" 2 '=')" error="$(_getfield "$err_field" 2 '=')"
text="$(_getfield "$txt_field" 2 '=')" text="$(_getfield "$txt_field" 2 '=')"
details="$(_getfield "$details_field" 2 '=')" details="$(_getfield "$details_field" 2 '=')"
_debug "error: ${error}, text: ${text}, details: ${details}" _debug "error: ${error}, text: ${text}, details: ${details}"
if [ "$error" != "0" ]; then if [ "$error" != "0" ]; then
_err "error $response" _err "error $response"
return 1 return 1
fi fi
;; ;;
CMD_API_SHOW_DOMAINS) ;; CMD_API_SHOW_DOMAINS) ;;
esac esac
return 0 return 0
} }
......
...@@ -67,14 +67,14 @@ _dns_do_list_rrs() { ...@@ -67,14 +67,14 @@ _dns_do_list_rrs() {
_err "getRRList origin ${_domain} failed" _err "getRRList origin ${_domain} failed"
return 1 return 1
fi fi
_rr_list="$(echo "${response}" \ _rr_list="$(echo "${response}" |
| tr -d "\n\r\t" \ tr -d "\n\r\t" |
| sed -e 's/<item xsi:type="ns2:Map">/\n/g' \ sed -e 's/<item xsi:type="ns2:Map">/\n/g' |
| grep ">$(_regexcape "$fulldomain")</value>" \ grep ">$(_regexcape "$fulldomain")</value>" |
| sed -e 's/<\/item>/\n/g' \ sed -e 's/<\/item>/\n/g' |
| grep '>id</key><value' \ grep '>id</key><value' |
| _egrep_o '>[0-9]{1,16}<' \ _egrep_o '>[0-9]{1,16}<' |
| tr -d '><')" tr -d '><')"
[ "${_rr_list}" ] [ "${_rr_list}" ]
} }
...@@ -120,10 +120,10 @@ _get_root() { ...@@ -120,10 +120,10 @@ _get_root() {
i=1 i=1
_dns_do_soap getDomainList _dns_do_soap getDomainList
_all_domains="$(echo "${response}" \ _all_domains="$(echo "${response}" |
| tr -d "\n\r\t " \ tr -d "\n\r\t " |
| _egrep_o 'domain</key><value[^>]+>[^<]+' \ _egrep_o 'domain</key><value[^>]+>[^<]+' |
| sed -e 's/^domain<\/key><value[^>]*>//g')" sed -e 's/^domain<\/key><value[^>]*>//g')"
while true; do while true; do
h=$(printf "%s" "$domain" | cut -d . -f $i-100) h=$(printf "%s" "$domain" | cut -d . -f $i-100)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
####################################################### #######################################################
# #
# easyDNS REST API for acme.sh by Neilpang based on dns_cf.sh # easyDNS REST API for acme.sh by Neilpang based on dns_cf.sh
# #
# API Documentation: https://sandbox.rest.easydns.net:3001/ # API Documentation: https://sandbox.rest.easydns.net:3001/
# #
# Author: wurzelpanzer [wurzelpanzer@maximolider.net] # Author: wurzelpanzer [wurzelpanzer@maximolider.net]
......
...@@ -303,10 +303,10 @@ _freedns_domain_id() { ...@@ -303,10 +303,10 @@ _freedns_domain_id() {
return 1 return 1
fi fi
domain_id="$(echo "$htmlpage" | tr -d " \t\r\n\v\f" | sed 's/<tr>/@<tr>/g' | tr '@' '\n' \ domain_id="$(echo "$htmlpage" | tr -d " \t\r\n\v\f" | sed 's/<tr>/@<tr>/g' | tr '@' '\n' |
| grep "<td>$search_domain</td>\|<td>$search_domain(.*)</td>" \ grep "<td>$search_domain</td>\|<td>$search_domain(.*)</td>" |
| sed -n 's/.*\(edit\.php?edit_domain_id=[0-9a-zA-Z]*\).*/\1/p' \ sed -n 's/.*\(edit\.php?edit_domain_id=[0-9a-zA-Z]*\).*/\1/p' |
| cut -d = -f 2)" cut -d = -f 2)"
# The above beauty extracts domain ID from the html page... # The above beauty extracts domain ID from the html page...
# strip out all blank space and new lines. Then insert newlines # strip out all blank space and new lines. Then insert newlines
# before each table row <tr> # before each table row <tr>
...@@ -349,11 +349,11 @@ _freedns_data_id() { ...@@ -349,11 +349,11 @@ _freedns_data_id() {
return 1 return 1
fi fi
data_id="$(echo "$htmlpage" | tr -d " \t\r\n\v\f" | sed 's/<tr>/@<tr>/g' | tr '@' '\n' \ data_id="$(echo "$htmlpage" | tr -d " \t\r\n\v\f" | sed 's/<tr>/@<tr>/g' | tr '@' '\n' |
| grep "<td[a-zA-Z=#]*>$record_type</td>" \ grep "<td[a-zA-Z=#]*>$record_type</td>" |
| grep "<ahref.*>$search_domain</a>" \ grep "<ahref.*>$search_domain</a>" |
| sed -n 's/.*\(edit\.php?data_id=[0-9a-zA-Z]*\).*/\1/p' \ sed -n 's/.*\(edit\.php?data_id=[0-9a-zA-Z]*\).*/\1/p' |
| cut -d = -f 2)" cut -d = -f 2)"
# The above beauty extracts data ID from the html page... # The above beauty extracts data ID from the html page...
# strip out all blank space and new lines. Then insert newlines # strip out all blank space and new lines. Then insert newlines
# before each table row <tr> # before each table row <tr>
......
...@@ -69,9 +69,9 @@ dns_gandi_livedns_rm() { ...@@ -69,9 +69,9 @@ dns_gandi_livedns_rm() {
_gandi_livedns_rest PUT \ _gandi_livedns_rest PUT \
"domains/$_domain/records/$_sub_domain/TXT" \ "domains/$_domain/records/$_sub_domain/TXT" \
"{\"rrset_ttl\": 300, \"rrset_values\": $_new_rrset_values}" \ "{\"rrset_ttl\": 300, \"rrset_values\": $_new_rrset_values}" &&
&& _contains "$response" '{"message": "DNS Record Created"}' \ _contains "$response" '{"message": "DNS Record Created"}' &&
&& _info "Removing record $(__green "success")" _info "Removing record $(__green "success")"
} }
#################### Private functions below ################################## #################### Private functions below ##################################
...@@ -125,9 +125,9 @@ _dns_gandi_append_record() { ...@@ -125,9 +125,9 @@ _dns_gandi_append_record() {
fi fi
_debug new_rrset_values "$_rrset_values" _debug new_rrset_values "$_rrset_values"
_gandi_livedns_rest PUT "domains/$_domain/records/$sub_domain/TXT" \ _gandi_livedns_rest PUT "domains/$_domain/records/$sub_domain/TXT" \
"{\"rrset_ttl\": 300, \"rrset_values\": $_rrset_values}" \ "{\"rrset_ttl\": 300, \"rrset_values\": $_rrset_values}" &&
&& _contains "$response" '{"message": "DNS Record Created"}' \ _contains "$response" '{"message": "DNS Record Created"}' &&
&& _info "Adding record $(__green "success")" _info "Adding record $(__green "success")"
} }
_dns_gandi_existing_rrset_values() { _dns_gandi_existing_rrset_values() {
...@@ -145,8 +145,8 @@ _dns_gandi_existing_rrset_values() { ...@@ -145,8 +145,8 @@ _dns_gandi_existing_rrset_values() {
return 1 return 1
fi fi
_debug "Already has TXT record." _debug "Already has TXT record."
_rrset_values=$(echo "$response" | _egrep_o 'rrset_values.*\[.*\]' \ _rrset_values=$(echo "$response" | _egrep_o 'rrset_values.*\[.*\]' |
| _egrep_o '\[".*\"]') _egrep_o '\[".*\"]')
return 0 return 0
} }
......
...@@ -78,8 +78,8 @@ _dns_gcloud_execute_tr() { ...@@ -78,8 +78,8 @@ _dns_gcloud_execute_tr() {
for i in $(seq 1 120); do for i in $(seq 1 120); do
if gcloud dns record-sets changes list \ if gcloud dns record-sets changes list \
--zone="$managedZone" \ --zone="$managedZone" \
--filter='status != done' \ --filter='status != done' |
| grep -q '^.*'; then grep -q '^.*'; then
_info "_dns_gcloud_execute_tr: waiting for transaction to be comitted ($i/120)..." _info "_dns_gcloud_execute_tr: waiting for transaction to be comitted ($i/120)..."
sleep 5 sleep 5
else else
...@@ -137,11 +137,11 @@ _dns_gcloud_find_zone() { ...@@ -137,11 +137,11 @@ _dns_gcloud_find_zone() {
# List domains and find the zone with the deepest sub-domain (in case of some levels of delegation) # List domains and find the zone with the deepest sub-domain (in case of some levels of delegation)
if ! match=$(gcloud dns managed-zones list \ if ! match=$(gcloud dns managed-zones list \
--format="value(name, dnsName)" \ --format="value(name, dnsName)" \
--filter="$filter" \ --filter="$filter" |
| while read -r dnsName name; do while read -r dnsName name; do
printf "%s\t%s\t%s\n" "$(echo "$name" | awk -F"." '{print NF-1}')" "$dnsName" "$name" printf "%s\t%s\t%s\n" "$(echo "$name" | awk -F"." '{print NF-1}')" "$dnsName" "$name"
done \ done |
| sort -n -r | _head_n 1 | cut -f2,3 | grep '^.*'); then sort -n -r | _head_n 1 | cut -f2,3 | grep '^.*'); then
_err "_dns_gcloud_find_zone: Can't find a matching managed zone! Perhaps wrong project or gcloud credentials?" _err "_dns_gcloud_find_zone: Can't find a matching managed zone! Perhaps wrong project or gcloud credentials?"
return 1 return 1
fi fi
......
...@@ -101,8 +101,8 @@ dns_he_rm() { ...@@ -101,8 +101,8 @@ dns_he_rm() {
body="$body&hosted_dns_editzone=1" body="$body&hosted_dns_editzone=1"
body="$body&hosted_dns_delrecord=1" body="$body&hosted_dns_delrecord=1"
body="$body&hosted_dns_delconfirm=delete" body="$body&hosted_dns_delconfirm=delete"
_post "$body" "https://dns.he.net/" \ _post "$body" "https://dns.he.net/" |
| grep '<div id="dns_status" onClick="hideThis(this);">Successfully removed record.</div>' \ grep '<div id="dns_status" onClick="hideThis(this);">Successfully removed record.</div>' \
>/dev/null >/dev/null
exit_code="$?" exit_code="$?"
if [ "$exit_code" -eq 0 ]; then if [ "$exit_code" -eq 0 ]; then
......
...@@ -123,10 +123,10 @@ _find_record() { ...@@ -123,10 +123,10 @@ _find_record() {
return 1 return 1
else else
_record_id=$( _record_id=$(
echo "$response" \ echo "$response" |
| grep -o "{[^\{\}]*\"name\":\"$_record_name\"[^\}]*}" \ grep -o "{[^\{\}]*\"name\":\"$_record_name\"[^\}]*}" |
| grep "\"value\":\"$_record_value\"" \ grep "\"value\":\"$_record_value\"" |
| while read -r record; do while read -r record; do
# test for type and # test for type and
if [ -n "$(echo "$record" | _egrep_o '"type":"TXT"')" ]; then if [ -n "$(echo "$record" | _egrep_o '"type":"TXT"')" ]; then
echo "$record" | _egrep_o '"id":"[^"]*"' | cut -d : -f 2 | tr -d \" echo "$record" | _egrep_o '"id":"[^"]*"' | cut -d : -f 2 | tr -d \"
......
...@@ -95,29 +95,29 @@ _ISPC_getZoneInfo() { ...@@ -95,29 +95,29 @@ _ISPC_getZoneInfo() {
server_id=$(echo "${curResult}" | _egrep_o "server_id.*" | cut -d ':' -f 2 | cut -d '"' -f 2) server_id=$(echo "${curResult}" | _egrep_o "server_id.*" | cut -d ':' -f 2 | cut -d '"' -f 2)
_debug "Server ID: '${server_id}'" _debug "Server ID: '${server_id}'"
case "${server_id}" in case "${server_id}" in
'' | *[!0-9]*) '' | *[!0-9]*)
_err "Server ID is not numeric." _err "Server ID is not numeric."
return 1 return 1
;; ;;
*) _info "Retrieved Server ID" ;; *) _info "Retrieved Server ID" ;;
esac esac
zone=$(echo "${curResult}" | _egrep_o "\"id.*" | cut -d ':' -f 2 | cut -d '"' -f 2) zone=$(echo "${curResult}" | _egrep_o "\"id.*" | cut -d ':' -f 2 | cut -d '"' -f 2)
_debug "Zone: '${zone}'" _debug "Zone: '${zone}'"
case "${zone}" in case "${zone}" in
'' | *[!0-9]*) '' | *[!0-9]*)
_err "Zone ID is not numeric." _err "Zone ID is not numeric."
return 1 return 1
;; ;;
*) _info "Retrieved Zone ID" ;; *) _info "Retrieved Zone ID" ;;
esac esac
client_id=$(echo "${curResult}" | _egrep_o "sys_userid.*" | cut -d ':' -f 2 | cut -d '"' -f 2) client_id=$(echo "${curResult}" | _egrep_o "sys_userid.*" | cut -d ':' -f 2 | cut -d '"' -f 2)
_debug "Client ID: '${client_id}'" _debug "Client ID: '${client_id}'"
case "${client_id}" in case "${client_id}" in
'' | *[!0-9]*) '' | *[!0-9]*)
_err "Client ID is not numeric." _err "Client ID is not numeric."
return 1 return 1
;; ;;
*) _info "Retrieved Client ID." ;; *) _info "Retrieved Client ID." ;;
esac esac
zoneFound="" zoneFound=""
zoneEnd="" zoneEnd=""
...@@ -135,11 +135,11 @@ _ISPC_addTxt() { ...@@ -135,11 +135,11 @@ _ISPC_addTxt() {
record_id=$(echo "${curResult}" | _egrep_o "\"response.*" | cut -d ':' -f 2 | cut -d '"' -f 2) record_id=$(echo "${curResult}" | _egrep_o "\"response.*" | cut -d ':' -f 2 | cut -d '"' -f 2)
_debug "Record ID: '${record_id}'" _debug "Record ID: '${record_id}'"
case "${record_id}" in case "${record_id}" in
'' | *[!0-9]*) '' | *[!0-9]*)
_err "Couldn't add ACME Challenge TXT record to zone." _err "Couldn't add ACME Challenge TXT record to zone."
return 1 return 1
;; ;;
*) _info "Added ACME Challenge TXT record to zone." ;; *) _info "Added ACME Challenge TXT record to zone." ;;
esac esac
} }
...@@ -153,24 +153,24 @@ _ISPC_rmTxt() { ...@@ -153,24 +153,24 @@ _ISPC_rmTxt() {
record_id=$(echo "${curResult}" | _egrep_o "\"id.*" | cut -d ':' -f 2 | cut -d '"' -f 2) record_id=$(echo "${curResult}" | _egrep_o "\"id.*" | cut -d ':' -f 2 | cut -d '"' -f 2)
_debug "Record ID: '${record_id}'" _debug "Record ID: '${record_id}'"
case "${record_id}" in case "${record_id}" in
'' | *[!0-9]*) '' | *[!0-9]*)
_err "Record ID is not numeric." _err "Record ID is not numeric."
return 1
;;
*)
unset IFS
_info "Retrieved Record ID."
curData="{\"session_id\":\"${sessionID}\",\"primary_id\":\"${record_id}\",\"update_serial\":true}"
curResult="$(_post "${curData}" "${ISPC_Api}?dns_txt_delete")"
_debug "Calling _ISPC_rmTxt: '${curData}' '${ISPC_Api}?dns_txt_delete'"
_debug "Result of _ISPC_rmTxt: '$curResult'"
if _contains "${curResult}" '"code":"ok"'; then
_info "Removed ACME Challenge TXT record from zone."
else
_err "Couldn't remove ACME Challenge TXT record from zone."
return 1 return 1
;; fi
*) ;;
unset IFS
_info "Retrieved Record ID."
curData="{\"session_id\":\"${sessionID}\",\"primary_id\":\"${record_id}\",\"update_serial\":true}"
curResult="$(_post "${curData}" "${ISPC_Api}?dns_txt_delete")"
_debug "Calling _ISPC_rmTxt: '${curData}' '${ISPC_Api}?dns_txt_delete'"
_debug "Result of _ISPC_rmTxt: '$curResult'"
if _contains "${curResult}" '"code":"ok"'; then
_info "Removed ACME Challenge TXT record from zone."
else
_err "Couldn't remove ACME Challenge TXT record from zone."
return 1
fi
;;
esac esac
fi fi
} }
...@@ -100,7 +100,7 @@ _get_root() { ...@@ -100,7 +100,7 @@ _get_root() {
fi fi
# Try to remove a test record. With correct root domain, username and password this will return "OK: ..." regardless # Try to remove a test record. With correct root domain, username and password this will return "OK: ..." regardless
# of record in question existing or not. # of record in question existing or not.
if _joker_rest "username=$JOKER_USERNAME&password=$JOKER_PASSWORD&zone=$h&label=jokerTXTUpdateTest&type=TXT&value="; then if _joker_rest "username=$JOKER_USERNAME&password=$JOKER_PASSWORD&zone=$h&label=jokerTXTUpdateTest&type=TXT&value="; then
if _startswith "$response" "OK"; then if _startswith "$response" "OK"; then
_sub_domain="$(echo "$fulldomain" | sed "s/\\.$h\$//")" _sub_domain="$(echo "$fulldomain" | sed "s/\\.$h\$//")"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment