aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2010-05-21 23:29:52 +0200
committerDaniel Stenberg <daniel@haxx.se>2010-05-21 23:29:52 +0200
commitd17709da31ee04d825a8f93fcf4c87343ce0fad6 (patch)
treeb8b2680e48b6b93f4d981f8d64296e9cf1eefdcf
parent0bb6deda721796c8bf501c8bcbf86998b51f2828 (diff)
TFTP: send legal timeout value
Eric Mertens posted bug #3003705: when we made TFTP use the correct timeout option when sent to the server (fixed May 18th 2010) it became obvious that libcurl used invalid timeout values (300 by default while the RFC allows nothing above 255). While of course it is obvious that as TFTP has worked thus far without being able to set timeout at all, just removing the setting wouldn't make any difference in behavior. I decided to still keep it (but fix the problem) as it now actually allows for easier (future) customization of the timeout. (http://curl.haxx.se/bug/view.cgi?id=3003705)
-rw-r--r--CHANGES12
-rw-r--r--lib/tftp.c5
2 files changed, 15 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 1b55dc432..bf7d79f6e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,11 +7,23 @@
Changelog
Daniel Stenberg (21 May 2010)
+- Eric Mertens posted bug #3003705: when we made TFTP use the correct timeout
+ option when sent to the server (fixed May 18th 2010) it became obvious that
+ libcurl used invalid timeout values (300 by default while the RFC allows
+ nothing above 255). While of course it is obvious that as TFTP has worked
+ thus far without being able to set timeout at all, just removing the setting
+ wouldn't make any difference in behavior. I decided to still keep it (but
+ fix the problem) as it now actually allows for easier (future) customization
+ of the timeout.
+
+ (http://curl.haxx.se/bug/view.cgi?id=3003705)
+
- Douglas Kilpatrick filed bug report #3004787 and pointed out that the TFTP
code didn't handle block id wraps correctly. His suggested fix inspired the
fix I committed.
(http://curl.haxx.se/bug/view.cgi?id=3004787)
+
Daniel Stenberg (20 May 2010)
- Tanguy Fautre brought a fix to allow curl to build with Microsoft VC10.
diff --git a/lib/tftp.c b/lib/tftp.c
index 1228297e0..166954f85 100644
--- a/lib/tftp.c
+++ b/lib/tftp.c
@@ -526,8 +526,9 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
TFTP_OPTION_BLKSIZE);
sbytes += tftp_option_add(state, sbytes,
(char *)state->spacket.data+sbytes, buf );
- /* add timeout option, this is the max time the session may live */
- snprintf( buf, sizeof(buf), "%d", state->retry_time*state->retry_max );
+
+ /* add timeout option */
+ snprintf( buf, sizeof(buf), "%d", state->retry_time);
sbytes += tftp_option_add(state, sbytes,
(char *)state->spacket.data+sbytes,
TFTP_OPTION_INTERVAL);