diff options
| author | Lexi Winter <ivy@FreeBSD.org> | 2025-06-03 19:28:25 +0100 |
|---|---|---|
| committer | Lexi Winter <ivy@FreeBSD.org> | 2025-06-03 19:28:25 +0100 |
| commit | af4f6e8a56545275c7dae00b9610cf1145fd82ca (patch) | |
| tree | 90c6faa76fe04713ebc6f0f52aa8410026f06f29 /kerberos.sh | |
| parent | 64ac331b10cc7d4907207c3d75cfb88c9ec51117 (diff) | |
| download | lfacme-af4f6e8a56545275c7dae00b9610cf1145fd82ca.tar.gz lfacme-af4f6e8a56545275c7dae00b9610cf1145fd82ca.tar.bz2 | |
kerberos.sh: correctly handle multiple TXT records
Diffstat (limited to 'kerberos.sh')
| -rw-r--r-- | kerberos.sh | 18 |
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 } |
