|
@ -4,11 +4,13 @@ |
|
|
# Report Bugs here: https://github.com/Marvo2011/acme.sh/issues/1 |
|
|
# Report Bugs here: https://github.com/Marvo2011/acme.sh/issues/1 |
|
|
# Last Edit: 17.02.2022 |
|
|
# Last Edit: 17.02.2022 |
|
|
|
|
|
|
|
|
|
|
|
DNS_CHALLENGE_PREFIX_ESCAPED="_acme-challenge\." |
|
|
|
|
|
|
|
|
dns_selfhost_add() { |
|
|
dns_selfhost_add() { |
|
|
domain=$1 |
|
|
|
|
|
|
|
|
fulldomain=$1 |
|
|
txt=$2 |
|
|
txt=$2 |
|
|
_info "Calling acme-dns on selfhost" |
|
|
_info "Calling acme-dns on selfhost" |
|
|
_debug fulldomain "$domain" |
|
|
|
|
|
|
|
|
_debug fulldomain "$fulldomain" |
|
|
_debug txtvalue "$txt" |
|
|
_debug txtvalue "$txt" |
|
|
|
|
|
|
|
|
SELFHOSTDNS_UPDATE_URL="https://selfhost.de/cgi-bin/api.pl" |
|
|
SELFHOSTDNS_UPDATE_URL="https://selfhost.de/cgi-bin/api.pl" |
|
@ -31,7 +33,16 @@ dns_selfhost_add() { |
|
|
SELFHOSTDNS_LAST_SLOT=1 |
|
|
SELFHOSTDNS_LAST_SLOT=1 |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
rid=$(echo "$SELFHOSTDNS_MAP" | grep -Eoi "$domain:(\d+)" | tr -d "$domain:") |
|
|
|
|
|
|
|
|
# cut DNS_CHALLENGE_PREFIX_ESCAPED from fulldomain if present at the beginning of the string |
|
|
|
|
|
lookupdomain=$(echo "$fulldomain" | sed "s/^$DNS_CHALLENGE_PREFIX_ESCAPED//") |
|
|
|
|
|
_debug lookupdomain "$lookupdomain" |
|
|
|
|
|
|
|
|
|
|
|
# get the RID for lookupdomain or fulldomain from SELFHOSTDNS_MAP |
|
|
|
|
|
# only match full domains (at the beginning of the string or with a leading whitespace), |
|
|
|
|
|
# e.g. don't match mytest.example.com or sub.test.example.com for test.example.com |
|
|
|
|
|
# replace the whole string with the RID (matching group 3) for assignment |
|
|
|
|
|
# if the domain is defined multiple times only the last occurance will be matched |
|
|
|
|
|
rid=$(echo "$SELFHOSTDNS_MAP" | sed -E "s/(^|^.*[[:space:]])($lookupdomain:|$fulldomain:)([0-9][0-9]*)(.*)/\3/") |
|
|
|
|
|
|
|
|
if test -z "$rid"; then |
|
|
if test -z "$rid"; then |
|
|
if [ $SELFHOSTDNS_LAST_SLOT = "2" ]; then |
|
|
if [ $SELFHOSTDNS_LAST_SLOT = "2" ]; then |
|
@ -69,9 +80,9 @@ dns_selfhost_add() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
dns_selfhost_rm() { |
|
|
dns_selfhost_rm() { |
|
|
domain=$1 |
|
|
|
|
|
|
|
|
fulldomain=$1 |
|
|
txt=$2 |
|
|
txt=$2 |
|
|
_debug fulldomain "$domain" |
|
|
|
|
|
|
|
|
_debug fulldomain "$fulldomain" |
|
|
_debug txtvalue "$txt" |
|
|
_debug txtvalue "$txt" |
|
|
_info "Creating and removing of records is not supported by selfhost API, will not delete anything." |
|
|
_info "Creating and removing of records is not supported by selfhost API, will not delete anything." |
|
|
} |
|
|
} |