]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
TFTP: send legal timeout value
authorDaniel Stenberg <daniel@haxx.se>
Fri, 21 May 2010 21:29:52 +0000 (23:29 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 21 May 2010 21:29:52 +0000 (23:29 +0200)
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)

CHANGES
lib/tftp.c

diff --git a/CHANGES b/CHANGES
index 1b55dc43200b32e2d56a313344f15491ed5193a8..bf7d79f6e3f7b16e06ca6c686dfedc4c9202cc8f 100644 (file)
--- 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.
 
index 1228297e058e9d61d6b3749cff12dec1f6a2c176..166954f85ccd87966c66263f5afec7dd4c009f0a 100644 (file)
@@ -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);