From e2c6e00570da70c00c7c75fa8f094eda77376d0c Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 29 Apr 2009 11:30:03 +0000 Subject: [PATCH] - Based on bug report #2723219 (http://curl.haxx.se/bug/view.cgi?id=2723219) I've now made TFTP "connections" not being kept for re-use within libcurl. TFTP is UDP-based so the benefit was really low (if even existing) to begin with so instead of tracking down to fix this problem we instead removed the re-use. I also enabled test case 1099 that I wrote a few days ago to verify that this change fixes the reported problem. --- CHANGES | 8 ++++++++ RELEASE-NOTES | 1 + TODO-RELEASE | 2 -- lib/tftp.c | 4 +++- tests/data/DISABLED | 2 +- tests/data/test1099 | 8 ++++---- 6 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGES b/CHANGES index 605c8def4..2cdeaef6a 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,14 @@ Changelog +Daniel Stenberg (29 Apr 2009) +- Based on bug report #2723219 (http://curl.haxx.se/bug/view.cgi?id=2723219) + I've now made TFTP "connections" not being kept for re-use within libcurl. + TFTP is UDP-based so the benefit was really low (if even existing) to begin + with so instead of tracking down to fix this problem we instead removed the + re-use. I also enabled test case 1099 that I wrote a few days ago to verify + that this change fixes the reported problem. + Daniel Stenberg (28 Apr 2009) - Constantine Sapuntzakis filed bug report #2783090 (http://curl.haxx.se/bug/view.cgi?id=2783090) pointing out that on windows diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 93b4855bd..c2b65e76e 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -35,6 +35,7 @@ This release includes the following bugfixes: o crash related to FTP and "Re-used connection seems dead, get a new one" o CURLINFO_APPCONNECT_TIME with the multi interface o Enhanced upload speeds on Windows + o TFTP problems after a failed transfer to the same host This release includes the following known bugs: diff --git a/TODO-RELEASE b/TODO-RELEASE index 726287d57..0e1ad4810 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -3,8 +3,6 @@ To be addressed in 7.19.5 (planned release: May 2009) 221 - debian man page warnings -222 - TFTP close bug/fix, #2723219 - 223 - TFTP flaw, #2723236 226 - Active Mode FTPS Data Port Range diff --git a/lib/tftp.c b/lib/tftp.c index 509c2ccae..6440f8025 100644 --- a/lib/tftp.c +++ b/lib/tftp.c @@ -863,7 +863,9 @@ static CURLcode tftp_connect(struct connectdata *conn, bool *done) return CURLE_OUT_OF_MEMORY; } - conn->bits.close = FALSE; /* keep it open if possible */ + conn->bits.close = TRUE; /* we don't keep TFTP connections up bascially + because there's none or very little gain for UDP + */ state->conn = conn; state->sockfd = state->conn->sock[FIRSTSOCKET]; diff --git a/tests/data/DISABLED b/tests/data/DISABLED index 16af58335..fb3ae0ec9 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -3,4 +3,4 @@ # test cases are run by runtests.pl. Just add the plain test case numbers, one # per line. # Lines starting with '#' letters are treated as comments. -1099 + diff --git a/tests/data/test1099 b/tests/data/test1099 index 5c80ac5d0..f81e6017b 100644 --- a/tests/data/test1099 +++ b/tests/data/test1099 @@ -8,7 +8,7 @@ FAILURE - + data for 1099 @@ -30,9 +30,6 @@ tftp://%HOSTIP:%TFTPPORT/an/invalid-file tftp://%HOSTIP:%TFTPPORT//1099 --trace- # # Verify pseudo protocol after the test has been "shot" - -69 - opcode: 1 filename: an/invalid-file @@ -41,5 +38,8 @@ opcode: 1 filename: /1099 mode: octet + +data for 1099 +