From d4cd5411a66d6814adccdfc81ff1d8a80e8c58af Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 22 Mar 2010 22:00:55 +0100 Subject: [PATCH] Thomas Lopatic fixed the alarm()-based DNS timeout --- CHANGES | 13 +++++++++++++ RELEASE-NOTES | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 02d7b27537ce93..8d812727f8fcee 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,19 @@ Changelog +Daniel Stenberg (22 Mar 2010) +- Thomas Lopatic fixed the alarm()-based DNS timeout: + + Looking at the code of Curl_resolv_timeout() in hostip.c, I think that in + case of a timeout, the signal handler for SIGALRM never gets removed. I + think that in my case it gets executed at some point later on when execution + has long left Curl_resolv_timeout() or even the cURL library. + + The code that is jumped to with siglongjmp() simply sets the error message + to "name lookup timed out" and then returns with CURLRESOLV_ERROR. I guess + that instead of simply returning without cleaning up, the code should have a + goto that jumps to the spot right after the call to Curl_resolv(). + Kamil Dudka (22 Mar 2010) - Douglas Steinwand contributed a patch fixing insufficient initialization in Curl_clone_ssl_config() diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 29ad85bde59cde..072ad7e6b8d36a 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -35,6 +35,7 @@ This release includes the following bugfixes: o TFTP improved error codes o TFTP fixed TSIZE handling for uploads o SSL possible double free when reusing curl handle + o alarm()-based DNS timeout bug This release includes the following known bugs: @@ -46,6 +47,6 @@ advice from friends like these: Steven M. Schweda, Yang Tse, Jack Zhang, Tom Donovan, Martin Hager, Daniel Fandrich, Patrick Monnerat, Pat Ray, Wesley Miaw, Ben Greear, Ryan Chan, Markus Duft, Andrei Benea, Jacob Moshenko, Daniel Johnson, - Constantine Sapuntzakis + Constantine Sapuntzakis, Douglas Steinwand, Thomas Lopatic Thanks! (and sorry if I forgot to mention someone)