mirror of
https://github.com/moparisthebest/curl
synced 2024-12-22 16:18:48 -05:00
Feng Tu reported that curl -w did wrong on TFTP transfers in
bug report #1715394 (http://curl.haxx.se/bug/view.cgi?id=1715394), and the transfer-related info "variables" were indeed overwritten with zeroes wrongly and have now been adjusted. The upload size still isn't accurate.
This commit is contained in:
parent
ed4936fd30
commit
250f9670b7
7
CHANGES
7
CHANGES
@ -5,9 +5,16 @@
|
|||||||
\___|\___/|_| \_\_____|
|
\___|\___/|_| \_\_____|
|
||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
Daniel S (18 May 2007)
|
||||||
|
- Feng Tu reported that curl -w did wrong on TFTP transfers in
|
||||||
|
bug report #1715394 (http://curl.haxx.se/bug/view.cgi?id=1715394), and the
|
||||||
|
transfer-related info "variables" were indeed overwritten with zeroes wrongly
|
||||||
|
and have now been adjusted. The upload size still isn't accurate.
|
||||||
|
|
||||||
Daniel S (17 May 2007)
|
Daniel S (17 May 2007)
|
||||||
- Feng Tu pointed out a division by zero error in the TFTP connect timeout
|
- Feng Tu pointed out a division by zero error in the TFTP connect timeout
|
||||||
code for timeouts less than five seconds, and also provided a fix for it.
|
code for timeouts less than five seconds, and also provided a fix for it.
|
||||||
|
Bug report #1715392 (http://curl.haxx.se/bug/view.cgi?id=1715392)
|
||||||
|
|
||||||
Dan F (16 May 2007)
|
Dan F (16 May 2007)
|
||||||
- Added support for compiling under Minix 3.1.3 using ACK.
|
- Added support for compiling under Minix 3.1.3 using ACK.
|
||||||
|
@ -5,7 +5,7 @@ Curl and libcurl 7.16.3
|
|||||||
Available command line options: 118
|
Available command line options: 118
|
||||||
Available curl_easy_setopt() options: 141
|
Available curl_easy_setopt() options: 141
|
||||||
Number of public functions in libcurl: 54
|
Number of public functions in libcurl: 54
|
||||||
Amount of public web site mirrors: 39
|
Amount of public web site mirrors: 38
|
||||||
Number of known libcurl bindings: 35
|
Number of known libcurl bindings: 35
|
||||||
Number of contributors: 554
|
Number of contributors: 554
|
||||||
|
|
||||||
@ -44,6 +44,7 @@ This release includes the following bugfixes:
|
|||||||
o overwriting an uploaded file with sftp now truncates it first
|
o overwriting an uploaded file with sftp now truncates it first
|
||||||
o SFTP quote commands chmod, chown, chgrp can now set a value of 0
|
o SFTP quote commands chmod, chown, chgrp can now set a value of 0
|
||||||
o TFTP connect timouts less than 5 seconds
|
o TFTP connect timouts less than 5 seconds
|
||||||
|
o improved curl -w for TFTP transfers
|
||||||
|
|
||||||
This release includes the following known bugs:
|
This release includes the following known bugs:
|
||||||
|
|
||||||
|
@ -415,8 +415,6 @@ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
return CURLE_TFTP_ILLEGAL; /* not really the perfect return code for
|
return CURLE_TFTP_ILLEGAL; /* not really the perfect return code for
|
||||||
this */
|
this */
|
||||||
}
|
}
|
||||||
Curl_pgrsSetDownloadCounter(data,
|
|
||||||
(curl_off_t) state->block*TFTP_BLOCKSIZE);
|
|
||||||
return CURLE_OK;
|
return CURLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,6 +483,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
/* Check all sbytes were sent */
|
/* Check all sbytes were sent */
|
||||||
if(sbytes<0) {
|
if(sbytes<0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -497,7 +496,8 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
if(state->retries > state->retry_max) {
|
if(state->retries > state->retry_max) {
|
||||||
state->error = TFTP_ERR_TIMEOUT;
|
state->error = TFTP_ERR_TIMEOUT;
|
||||||
state->state = TFTP_STATE_FIN;
|
state->state = TFTP_STATE_FIN;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
/* Re-send the data packet */
|
/* Re-send the data packet */
|
||||||
sbytes = sendto(state->sockfd, (void *)&state->spacket,
|
sbytes = sendto(state->sockfd, (void *)&state->spacket,
|
||||||
4+state->sbytes, SEND_4TH_ARG,
|
4+state->sbytes, SEND_4TH_ARG,
|
||||||
@ -506,6 +506,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
|||||||
/* Check all sbytes were sent */
|
/* Check all sbytes were sent */
|
||||||
if(sbytes<0) {
|
if(sbytes<0) {
|
||||||
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
failf(data, "%s\n", Curl_strerror(state->conn, SOCKERRNO));
|
||||||
|
return CURLE_SEND_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -738,6 +739,8 @@ CURLcode Curl_tftp(struct connectdata *conn, bool *done)
|
|||||||
state->rbytes-4);
|
state->rbytes-4);
|
||||||
if(code)
|
if(code)
|
||||||
return code;
|
return code;
|
||||||
|
Curl_pgrsSetDownloadCounter(data,
|
||||||
|
(curl_off_t) state->rbytes-4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TFTP_EVENT_ERROR:
|
case TFTP_EVENT_ERROR:
|
||||||
|
@ -1792,9 +1792,11 @@ Transfer(struct connectdata *conn)
|
|||||||
struct Curl_transfer_keeper *k = &data->reqdata.keep;
|
struct Curl_transfer_keeper *k = &data->reqdata.keep;
|
||||||
bool done=FALSE;
|
bool done=FALSE;
|
||||||
|
|
||||||
if(!(conn->protocol & PROT_FILE)) {
|
if(!(conn->protocol & (PROT_FILE|PROT_TFTP))) {
|
||||||
/* Only do this if we are not transferring FILE:, since the file: treatment
|
/* Only do this if we are not transferring FILE or TFTP, since those
|
||||||
is different*/
|
transfers are treated differently. They do their entire transfers in
|
||||||
|
the DO function and just returns from this. That is ugly indeed.
|
||||||
|
*/
|
||||||
Curl_readwrite_init(conn);
|
Curl_readwrite_init(conn);
|
||||||
Curl_pre_readwrite(conn);
|
Curl_pre_readwrite(conn);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user