Skip to content

Commit

Permalink
Merge pull request #619 from srvrco/handle-dig-failure
Browse files Browse the repository at this point in the history
Handle dig failure
  • Loading branch information
timkimber committed Dec 27, 2020
2 parents 69a5bda + bd11be6 commit afbed3e
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 2 deletions.
9 changes: 7 additions & 2 deletions getssl
Original file line number Diff line number Diff line change
Expand Up @@ -242,11 +242,16 @@
# 2020-10-04 Add CHECK_PUBLIC_DNS_SERVER to check the DNS challenge has been updated there
# 2020-10-13 Bugfix: strip comments in drill/dig output (mhameed)
# 2020-11-18 Wildcard support (#347)(#400)(2.31)
# 2020-12-08 Fix mktemp template on alpine (#612)
# 2020-12-17 Fix delimiter issues with ${alldomains[]} in create_csr (#614)(vietw)
# 2020-12-18 Wrong SANS when domain contains a minus character (atisne)
# 2020-12-22 Fixes to get_auth_dns
# 2020-12-22 Check that dig doesn't return an error (#611)(2.32)
# ----------------------------------------------------------------------------------------

PROGNAME=${0##*/}
PROGDIR="$(cd "$(dirname "$0")" || exit; pwd -P;)"
VERSION="2.31"
VERSION="2.32"

# defaults
ACCOUNT_KEY_LENGTH=4096
Expand Down Expand Up @@ -1094,7 +1099,7 @@ find_dns_utils() {
if [[ -n "$(command -v drill 2>/dev/null)" ]]; then
debug "HAS DIG_OR_DRILL=drill"
HAS_DIG_OR_DRILL="drill"
elif [[ -n "$(command -v dig 2>/dev/null)" ]]; then
elif [[ -n "$(command -v dig 2>/dev/null)" ]] && dig >/dev/null 2>&1; then
debug "HAS DIG_OR_DRILL=dig"
HAS_DIG_OR_DRILL="dig"
fi
Expand Down
44 changes: 44 additions & 0 deletions test/30-handle-dig-failure.bats
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#! /usr/bin/env bats

load '/bats-support/load.bash'
load '/bats-assert/load.bash'
load '/getssl/test/test_helper.bash'


# This is run for every test
setup() {
export CURL_CA_BUNDLE=/root/pebble-ca-bundle.crt
if [ -f /usr/bin/drill ]; then
mv /usr/bin/drill /usr/bin/drill.getssl.bak
fi
if [ -f /usr/bin/dig ]; then
chmod -x /usr/bin/dig
fi
}


teardown() {
if [ -f /usr/bin/drill.getssl.bak ]; then
mv /usr/bin/drill.getssl.bak /usr/bin/drill
fi
if [ -f /usr/bin/dig ]; then
chmod +x /usr/bin/dig
fi
}


@test "Test that if dig exists but errors HAS_DIG is not set" {
if [ -n "$STAGING" ]; then
skip "Using staging server, skipping internal test"
fi
if [ ! -f /usr/bin/dig ]; then
skip "dig not installed, skipping dig test"
fi
CONFIG_FILE="getssl-http01.cfg"
setup_environment
init_getssl
create_certificate -d
assert_success
refute_line --partial "HAS DIG_OR_DRILL=dig"
check_output_for_errors "debug"
}

0 comments on commit afbed3e

Please sign in to comment.