From 9a3e9dbffdbf3b330c94156e421330b1ee80335a Mon Sep 17 00:00:00 2001 From: "Yichun Zhang (agentzh)" Date: Wed, 8 Jan 2014 11:50:58 -0800 Subject: [PATCH] bugfix: nginx's builtin resolver did not accept domain names with a trailing dot. --- ....8-resolve-names-with-a-trailing-dot.patch | 21 +++++++++++++++++++ util/mirror-tarballs | 4 ++++ 2 files changed, 25 insertions(+) create mode 100644 patches/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch diff --git a/patches/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch b/patches/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch new file mode 100644 index 0000000..36eca11 --- /dev/null +++ b/patches/nginx-1.5.8-resolve-names-with-a-trailing-dot.patch @@ -0,0 +1,21 @@ +# HG changeset patch +# User Yichun Zhang +# Date 1389209699 28800 +# Node ID 3d10680c0399cb8d2e3b601412df0495ffaab4a5 +# Parent c0d6eae5a1c5d16cf6a9d6a3a73656972f838eab +Resolver: added support for domain names with a trailing dot. + +diff -r c0d6eae5a1c5 -r 3d10680c0399 src/core/ngx_resolver.c +--- a/src/core/ngx_resolver.c Fri Dec 13 20:49:52 2013 +0400 ++++ b/src/core/ngx_resolver.c Wed Jan 08 11:34:59 2014 -0800 +@@ -467,6 +467,10 @@ + ngx_resolver_ctx_t *next; + ngx_resolver_node_t *rn; + ++ if (ctx->name.len > 0 && ctx->name.data[ctx->name.len - 1] == '.') { ++ ctx->name.len--; ++ } ++ + ngx_strlow(ctx->name.data, ctx->name.data, ctx->name.len); + + hash = ngx_crc32_short(ctx->name.data, ctx->name.len); diff --git a/util/mirror-tarballs b/util/mirror-tarballs index 33d7288..442b0fa 100755 --- a/util/mirror-tarballs +++ b/util/mirror-tarballs @@ -221,6 +221,10 @@ echo "$info_txt applying the pcre_conf_opt patch for nginx $ver" patch -p1 < $root/patches/nginx-$ver-pcre_conf_opt.patch || exit 1 echo +echo "$info_txt applying the resolve-names-with-a-trailing-dot patch for nginx $ver" +patch -p1 < $root/patches/nginx-$ver-resolve-names-with-a-trailing-dot.patch || exit 1 +echo + rm -f *.patch || exit 1 cd .. || exit 1