comparison src/core/ngx_resolver.c @ 5479:c0d6eae5a1c5

Resolver: lookups are case-insensitive.
author Ruslan Ermilov <ru@nginx.com>
date Fri, 13 Dec 2013 20:49:52 +0400
parents 3cb3175a6fef
children 8958656a8060
comparison
equal deleted inserted replaced
5478:3cb3175a6fef 5479:c0d6eae5a1c5
465 ngx_uint_t naddrs; 465 ngx_uint_t naddrs;
466 ngx_addr_t *addrs; 466 ngx_addr_t *addrs;
467 ngx_resolver_ctx_t *next; 467 ngx_resolver_ctx_t *next;
468 ngx_resolver_node_t *rn; 468 ngx_resolver_node_t *rn;
469 469
470 ngx_strlow(ctx->name.data, ctx->name.data, ctx->name.len);
471
470 hash = ngx_crc32_short(ctx->name.data, ctx->name.len); 472 hash = ngx_crc32_short(ctx->name.data, ctx->name.len);
471 473
472 rn = ngx_resolver_lookup_name(r, &ctx->name, hash); 474 rn = ngx_resolver_lookup_name(r, &ctx->name, hash);
473 475
474 if (rn) { 476 if (rn) {
2009 2011
2010 addr += octet << mask; 2012 addr += octet << mask;
2011 i += len; 2013 i += len;
2012 } 2014 }
2013 2015
2014 if (ngx_strcmp(&buf[i], "\7in-addr\4arpa") == 0) { 2016 if (ngx_strcasecmp(&buf[i], (u_char *) "\7in-addr\4arpa") == 0) {
2015 i += sizeof("\7in-addr\4arpa"); 2017 i += sizeof("\7in-addr\4arpa");
2016 2018
2017 /* lock addr mutex */ 2019 /* lock addr mutex */
2018 2020
2019 rn = ngx_resolver_lookup_addr(r, addr); 2021 rn = ngx_resolver_lookup_addr(r, addr);
2056 } 2058 }
2057 2059
2058 addr6.s6_addr[octet] += (u_char) (digit * 16); 2060 addr6.s6_addr[octet] += (u_char) (digit * 16);
2059 } 2061 }
2060 2062
2061 if (ngx_strcmp(&buf[i], "\3ip6\4arpa") == 0) { 2063 if (ngx_strcasecmp(&buf[i], (u_char *) "\3ip6\4arpa") == 0) {
2062 i += sizeof("\3ip6\4arpa"); 2064 i += sizeof("\3ip6\4arpa");
2063 2065
2064 /* lock addr mutex */ 2066 /* lock addr mutex */
2065 2067
2066 hash = ngx_crc32_short(addr6.s6_addr, 16); 2068 hash = ngx_crc32_short(addr6.s6_addr, 16);
2735 src = &buf[n]; 2737 src = &buf[n];
2736 2738
2737 n = *src++; 2739 n = *src++;
2738 2740
2739 } else { 2741 } else {
2740 ngx_memcpy(dst, src, n); 2742 ngx_strlow(dst, src, n);
2741 dst += n; 2743 dst += n;
2742 src += n; 2744 src += n;
2743 2745
2744 n = *src++; 2746 n = *src++;
2745 2747