aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLexi Winter <ivy@FreeBSD.org>2025-06-03 19:28:25 +0100
committerLexi Winter <ivy@FreeBSD.org>2025-06-03 19:28:25 +0100
commitaf4f6e8a56545275c7dae00b9610cf1145fd82ca (patch)
tree90c6faa76fe04713ebc6f0f52aa8410026f06f29
parent64ac331b10cc7d4907207c3d75cfb88c9ec51117 (diff)
downloadlfacme-af4f6e8a56545275c7dae00b9610cf1145fd82ca.tar.gz
lfacme-af4f6e8a56545275c7dae00b9610cf1145fd82ca.tar.bz2
kerberos.sh: correctly handle multiple TXT records
-rw-r--r--kerberos.sh18
1 files changed, 10 insertions, 8 deletions
diff --git a/kerberos.sh b/kerberos.sh
index dad7aad..df88e2c 100644
--- a/kerberos.sh
+++ b/kerberos.sh
@@ -102,14 +102,16 @@ _wait_for_nameserver() {
return 1
fi
- data="$(dig "_acme-challenge.$domain" txt @$nameserver +short)"
- if [ -z "$data" ]; then
- continue
- fi
-
- if [ "$data" = "\"$auth\"" ]; then
- return 0
- fi
+ local _rdatas="$(
+ dig "_acme-challenge.$domain" txt @$nameserver \
+ +noall +answer \
+ | awk '$4 == "TXT" { print $5 }'
+ )"
+ for rdata in $_rdatas; do
+ if [ "$rdata" = "\"$auth\"" ]; then
+ return 0
+ fi
+ done
done
}