From: Marko Kreen Date: Thu, 1 Sep 2011 09:13:32 +0000 (+0300) Subject: Describe EDNS0, use getaddrinfo_a() on debian X-Git-Tag: pgbouncer_1_5_rc1~57 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b85efda97575758a2e26e9e9ec8e0fd5928170c5;p=pgbouncer Describe EDNS0, use getaddrinfo_a() on debian --- diff --git a/NEWS b/NEWS index 5367b3d..3058fb3 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +2011-xx-xx - PgBouncer 1.x.x - "" + + = Fixes = + + * Detect DNS reply changes and invalidate connections + to IPs no longer present in latest reply. + (Petr Jelinek) + + If you have more than 8 IPs behind one DNS name, you need to + use EDNS0 protocol to query. Only getaddrinfo_a()/getaddrinfo() + supports it, libevent does not. To enable add 'options edns0' + to /etc/resolv.conf. + 2011-06-16 - PgBouncer 1.4.2 - "Strike-First Algorithm" Affected OS-es: *BSD, Solaris, Win32. diff --git a/README b/README index 7e80313..f49913c 100644 --- a/README +++ b/README @@ -34,13 +34,15 @@ time instead just once at config load time. This requires proper async DNS implementation. Following list shows supported backends and their probing order: -1. libevent 2.x evdns - OK -2. glibc 2.9+ getaddrinfo_a() - OK -3. libusual compat getaddrinfo_a() - OK, - for non-glibc systems, uses single thread for all lookups, - requires pthreads, so does not work on win32 -4. libevent 1.x evdns - buggy, - does not use /etc/hosts, never used by default +backend | parallel | EDNS0 | /etc/hosts | note +---------------------------+----------+----------+------------+------------------------ +udns | yes | yes | no | unimplemented +evdns, libevent 2.x | yes | no | yes | +getaddrinfo_a, glibc 2.9+ | yes | yes (1) | yes | N/A on non-linux +getaddrinfo, libc | no | yes (1) | yes | N/A on win32, requires pthreads +evdns, libevent 1.x | yes | no | no | buggy + +(1) To enable EDNS0, add 'options edns0' to /etc/resolv.conf `./configure` also has flags `--enable-evdns` and `--disable-evdns` which turn off automatic probing and force use of either `evdns` or `getaddrinfo_a()`. diff --git a/debian/packages b/debian/packages index 88a5025..80b0e25 100644 --- a/debian/packages +++ b/debian/packages @@ -20,12 +20,12 @@ Description: Lightweight connection pooler for PostgreSQL . Install: sh # just in case, build with debugging options - CFLAGS="-O -g" ./configure --prefix=/usr --enable-debug --enable-cassert + CFLAGS="-O -g" ./configure --prefix=/usr --enable-debug --enable-cassert --disable-evdns make V=1 make install DESTDIR=$ROOT mv $ROOT/usr/bin/pgbouncer $ROOT/usr/bin/pgbouncer-dbg make clean # now without cassert - ./configure --prefix=/usr --enable-debug + ./configure --prefix=/usr --enable-debug --disable-evdns make V=1 make install DESTDIR=$ROOT