Mercurial > hg > nginx
comparison src/core/ngx_resolver.c @ 2314:52987a023486
fix compression pointer for big (>255) DNS responses
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 17 Nov 2008 08:04:41 +0000 |
parents | ec97eb9a8038 |
children | 30ec8c5ac75b |
comparison
equal
deleted
inserted
replaced
2313:b56a9ba4824d | 2314:52987a023486 |
---|---|
1864 if (n == 0) { | 1864 if (n == 0) { |
1865 goto done; | 1865 goto done; |
1866 } | 1866 } |
1867 | 1867 |
1868 if (n & 0xc0) { | 1868 if (n & 0xc0) { |
1869 n = (n & 0x3f << 8) + *p; | 1869 n = ((n & 0x3f) << 8) + *p; |
1870 p = &buf[n]; | 1870 p = &buf[n]; |
1871 | 1871 |
1872 } else { | 1872 } else { |
1873 len += 1 + n; | 1873 len += 1 + n; |
1874 p = &p[n]; | 1874 p = &p[n]; |
1914 if (n != 0) { | 1914 if (n != 0) { |
1915 *dst++ = '.'; | 1915 *dst++ = '.'; |
1916 } | 1916 } |
1917 | 1917 |
1918 } else { | 1918 } else { |
1919 n = (n & 0x3f << 8) + *src; | 1919 n = ((n & 0x3f) << 8) + *src; |
1920 src = &buf[n]; | 1920 src = &buf[n]; |
1921 | 1921 |
1922 n = *src++; | 1922 n = *src++; |
1923 } | 1923 } |
1924 | 1924 |