aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);