summaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2008-08-04 20:23:12 +0000
committerDaniel Stenberg <daniel@haxx.se>2008-08-04 20:23:12 +0000
commit3f1bde766423bede155941a68f0b00aa97edbf12 (patch)
tree0550bba538eabd2f4b43e794402e7ea59cc39a87 /CHANGES
parent5c5e64b2f577e1d1455133e4bb155cc6f9a8f8ba (diff)
downloadc-ares-3f1bde766423bede155941a68f0b00aa97edbf12.tar.gz
c-ares-3f1bde766423bede155941a68f0b00aa97edbf12.tar.bz2
c-ares-3f1bde766423bede155941a68f0b00aa97edbf12.zip
- Fix by Tofu Linden:
The symptom: * Users (usually, but not always) on 2-Wire routers and the Comcast service and a wired connection to their router would find that the second and subsequent DNS lookups from fresh processes using c-ares to resolve the same address would cause the process to never see a reply (it keeps polling for around 1m15s before giving up). The repro: * On such a machine (and yeah, it took us a lot of QA to find the systems that reproduce such a specific problem!), do 'ahost www.secondlife.com', then do it again. The first process's lookup will work, subsequent lookups will time-out and fail. The cause: * init_id_key() was calling randomize_key() *before* it initialized key->state, meaning that the randomness generated by randomize_key() is immediately overwritten with deterministic values. (/dev/urandom was also being read incorrectly in the c-ares version we were using, but this was fixed in a later version.) * This makes the stream of generated query-IDs from any new c-ares process be an identical and predictable sequence of IDs. * This makes the 2-Wire's default built-in DNS server detect these queries as probable-duplicates and (erroneously) not respond at all.
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES28
1 files changed, 28 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index d238972..dff8e8d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,33 @@
Changelog for the c-ares project
+* Aug 4 2008 (Daniel Stenberg)
+- Fix by Tofu Linden:
+
+ The symptom:
+ * Users (usually, but not always) on 2-Wire routers and the Comcast service
+ and a wired connection to their router would find that the second and
+ subsequent DNS lookups from fresh processes using c-ares to resolve the same
+ address would cause the process to never see a reply (it keeps polling for
+ around 1m15s before giving up).
+
+ The repro:
+ * On such a machine (and yeah, it took us a lot of QA to find the systems
+ that reproduce such a specific problem!), do 'ahost www.secondlife.com',
+ then do it again. The first process's lookup will work, subsequent lookups
+ will time-out and fail.
+
+ The cause:
+ * init_id_key() was calling randomize_key() *before* it initialized
+ key->state, meaning that the randomness generated by randomize_key() is
+ immediately overwritten with deterministic values. (/dev/urandom was also
+ being read incorrectly in the c-ares version we were using, but this was
+ fixed in a later version.)
+ * This makes the stream of generated query-IDs from any new c-ares process
+ be an identical and predictable sequence of IDs.
+ * This makes the 2-Wire's default built-in DNS server detect these queries
+ as probable-duplicates and (erroneously) not respond at all.
+
+
* Aug 4 2008 (Yang Tse)
- Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. 2.62