931fc45f05
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.
19 lines
830 B
Plaintext
19 lines
830 B
Plaintext
This is what's new and changed in the c-ares 1.5.3 release:
|
|
|
|
o fix adig sample application compilation failure on some systems
|
|
o fix pkg-config reporting of private libraries needed for static linking
|
|
o fallback to gettimeofday when monotonic clock is unavailable at run-time
|
|
o ares_gethostbyname() fallback from AAA to A records with CNAME present
|
|
o allow --enable-largefile and --disable-largefile configurations
|
|
o configure process no longer needs nor checks size of curl_off_t
|
|
o library will now be built with _REENTRANT symbol defined if needed
|
|
o Improved configure detection of number of arguments for getservbyport_r
|
|
o Improved query-ID randomness
|
|
|
|
Thanks go to these friendly people for their efforts and contributions:
|
|
|
|
Brad House, Yang Tse, Phil Blundell, Tofu Linden
|
|
and obviously Daniel Stenberg
|
|
|
|
Have fun!
|