Merge pull request #5 from AlvinSchiller/dev

domain lookup for DNS_MAP changed.
This commit is contained in:
Marvo2011 2022-05-20 08:51:06 +02:00 committed by GitHub
commit 025bebb3e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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."
} }