From 32dbb9b1304c28769a71502bb43143c4f5fc5c9e Mon Sep 17 00:00:00 2001 From: Javier Evans Date: Mon, 2 Oct 2023 10:05:25 -0700 Subject: [PATCH 1/2] fix: gracefully handle comments in resolv.conf. Fixes #171 --- common/docker-entrypoint.sh | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/common/docker-entrypoint.sh b/common/docker-entrypoint.sh index 024d0aa7..281cc173 100644 --- a/common/docker-entrypoint.sh +++ b/common/docker-entrypoint.sh @@ -32,16 +32,11 @@ parseBoolean() { # This line is an addition to the NGINX Docker image's entrypoint script. if [ -z ${DNS_RESOLVERS+x} ]; then - resolvers="" - for ip in $(grep nameserver /etc/resolv.conf | cut -d' ' -f2 | xargs) - do - if echo "${ip}" | grep -q ':'; then - resolvers="$resolvers [${ip}]" - else - resolvers="$resolvers $ip" - fi - done - export DNS_RESOLVERS="${resolvers}" + # This method of pulling individual nameservers from + # /etc/resolv.conf taken from the entrypoint script in the + # official docker image. + # https://github.com/nginxinc/docker-nginx/blob/master/entrypoint/15-local-resolvers.envsh + export DNS_RESOLVERS="$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print $2}' /etc/resolv.conf)" fi # Normalize the CORS_ENABLED environment variable to a numeric value From 0c1d73234c387f2a47f4e2150da3ae7595b3213e Mon Sep 17 00:00:00 2001 From: Javier Evans Date: Mon, 2 Oct 2023 19:56:53 -0700 Subject: [PATCH 2/2] fix ipv6 addresses needing square brackets added around them --- common/docker-entrypoint.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/common/docker-entrypoint.sh b/common/docker-entrypoint.sh index 281cc173..d607c804 100644 --- a/common/docker-entrypoint.sh +++ b/common/docker-entrypoint.sh @@ -32,11 +32,21 @@ parseBoolean() { # This line is an addition to the NGINX Docker image's entrypoint script. if [ -z ${DNS_RESOLVERS+x} ]; then - # This method of pulling individual nameservers from - # /etc/resolv.conf taken from the entrypoint script in the - # official docker image. - # https://github.com/nginxinc/docker-nginx/blob/master/entrypoint/15-local-resolvers.envsh - export DNS_RESOLVERS="$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print $2}' /etc/resolv.conf)" + resolvers="" + + # This method of pulling individual nameservers from + # /etc/resolv.conf taken from the entrypoint script in the + # official docker image. + # https://github.com/nginxinc/docker-nginx/blob/master/entrypoint/15-local-resolvers.envsh + for ip in $(awk 'BEGIN{ORS=" "} $1=="nameserver" {print $2}' /etc/resolv.conf) + do + if echo "${ip}" | grep -q ':'; then + resolvers="$resolvers [${ip}]" + else + resolvers="$resolvers $ip" + fi + done + export DNS_RESOLVERS="${resolvers}" fi # Normalize the CORS_ENABLED environment variable to a numeric value