- Ben Greear provided an update for TFTP that fixes upload.
This commit is contained in:
parent
7842704ee7
commit
53aa6b21fe
2
CHANGES
2
CHANGES
@ -7,6 +7,8 @@
|
||||
Changelog
|
||||
|
||||
Daniel Stenberg (1 Mar 2010)
|
||||
- Ben Greear provided an update for TFTP that fixes upload.
|
||||
|
||||
- Wesley Miaw reported bug #2958179 which identified a case of looping during
|
||||
OpenSSL based SSL handshaking even though the multi interface was used and
|
||||
there was no good reason for it.
|
||||
|
@ -22,6 +22,7 @@ This release includes the following bugfixes:
|
||||
o curl --trace-time not using local time
|
||||
o off-by-one in the chunked encoding trailer parser
|
||||
o superfluous blocking for OpenSSL-based SSL connects and multi interface
|
||||
o TFTP upload
|
||||
|
||||
This release includes the following known bugs:
|
||||
|
||||
@ -31,6 +32,6 @@ This release would not have looked like this without help, code, reports and
|
||||
advice from friends like these:
|
||||
|
||||
Steven M. Schweda, Yang Tse, Jack Zhang, Tom Donovan, Martin Hager,
|
||||
Daniel Fandrich, Patrick Monnerat, Pat Ray, Wesley Miaw
|
||||
Daniel Fandrich, Patrick Monnerat, Pat Ray, Wesley Miaw, Ben Greear
|
||||
|
||||
Thanks! (and sorry if I forgot to mention someone)
|
||||
|
10
lib/tftp.c
10
lib/tftp.c
@ -399,7 +399,7 @@ static CURLcode tftp_parse_option_ack(tftp_state_data_t *state,
|
||||
|
||||
tsize = strtol( value, NULL, 10 );
|
||||
if(!tsize) {
|
||||
failf(data, "invalid tsize value in OACK packet");
|
||||
failf(data, "invalid tsize -:%s:- value in OACK packet", value);
|
||||
return CURLE_TFTP_ILLEGAL;
|
||||
}
|
||||
Curl_pgrsSetDownloadSize(data, tsize);
|
||||
@ -701,6 +701,8 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
||||
switch(event) {
|
||||
|
||||
case TFTP_EVENT_ACK:
|
||||
case TFTP_EVENT_OACK:
|
||||
if (event == TFTP_EVENT_ACK) {
|
||||
/* Ack the packet */
|
||||
rblock = getrpacketblock(&state->rpacket);
|
||||
|
||||
@ -733,6 +735,10 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
||||
block */
|
||||
time(&state->rx_time);
|
||||
state->block++;
|
||||
}
|
||||
else {
|
||||
state->block = 1; /* first data block is 1 when using OACK */
|
||||
}
|
||||
state->retries = 0;
|
||||
setpacketevent(&state->spacket, TFTP_EVENT_DATA);
|
||||
setpacketblock(&state->spacket, state->block);
|
||||
@ -798,7 +804,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
|
||||
break;
|
||||
|
||||
default:
|
||||
failf(data, "%s", "tftp_tx: internal error");
|
||||
failf(data, "tftp_tx: internal error, event: %i", (int)(event));
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user