Mercurial > hg > nginx
comparison src/core/ngx_resolver.c @ 2329:435b689b61ea stable-0.6
r2315 merge:
fix compression pointer for big (>255) DNS responses
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Nov 2008 17:24:16 +0000 |
parents | 9f15e5f8ff9e |
children | f4aea5b40fd7 |
comparison
equal
deleted
inserted
replaced
2328:0ebecd0c3410 | 2329:435b689b61ea |
---|---|
1834 if (n == 0) { | 1834 if (n == 0) { |
1835 goto done; | 1835 goto done; |
1836 } | 1836 } |
1837 | 1837 |
1838 if (n & 0xc0) { | 1838 if (n & 0xc0) { |
1839 n = (n & 0x3f << 8) + *p; | 1839 n = ((n & 0x3f) << 8) + *p; |
1840 p = &buf[n]; | 1840 p = &buf[n]; |
1841 | 1841 |
1842 } else { | 1842 } else { |
1843 len += 1 + n; | 1843 len += 1 + n; |
1844 p = &p[n]; | 1844 p = &p[n]; |
1884 if (n != 0) { | 1884 if (n != 0) { |
1885 *dst++ = '.'; | 1885 *dst++ = '.'; |
1886 } | 1886 } |
1887 | 1887 |
1888 } else { | 1888 } else { |
1889 n = (n & 0x3f << 8) + *src; | 1889 n = ((n & 0x3f) << 8) + *src; |
1890 src = &buf[n]; | 1890 src = &buf[n]; |
1891 | 1891 |
1892 n = *src++; | 1892 n = *src++; |
1893 } | 1893 } |
1894 | 1894 |