Commit 966cb698 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Carsten Lange reported a bug and provided a patch for TFTP upload and the

  sending of the TSIZE option. I don't like fixing bugs just hours before
  a release, but since it was broken and the patch fixes this for him I decided
  to get it in anyway.
parent 4b44638f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -6,6 +6,12 @@

                                  Changelog

Daniel Stenberg (12 Aug 2009)
- Carsten Lange reported a bug and provided a patch for TFTP upload and the
  sending of the TSIZE option. I don't like fixing bugs just hours before
  a release, but since it was broken and the patch fixes this for him I decided
  to get it in anyway.

Daniel Stenberg (11 Aug 2009)
- Peter Sylvester made the HTTPS test server use specific certificates for
  each test, so that the test suite can now be used to actually test the
+3 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ This release includes the following bugfixes:
 o don't try SNI with SSLv2 or SSLv3 (OpenSSL and GnuTLS builds)
 o libcurl+OpenSSL would wrongly acknowledge a cert if CN matched but
   subjectAltName didn't
 o TFTP upload sent illegal TSIZE packets

This release includes the following known bugs:

@@ -57,6 +58,7 @@ advice from friends like these:
 Aaron Oneal, Igor Novoseltsev, Eric Wong, Bill Hoffman, Daniel Steinberg,
 Fabian Keil, Michal Marek, Reuven Wachtfogel, Markus Koetter,
 Constantine Sapuntzakis, David Binderman, Johan van Selst, Alexander Beedie,
 Tanguy Fautre, Scott Cantor, Curt Bogmine, Peter Sylvester, Benbuck Nason
 Tanguy Fautre, Scott Cantor, Curt Bogmine, Peter Sylvester, Benbuck Nason,
 Carsten Lange

        Thanks! (and sorry if I forgot to mention someone)
+7 −2
Original line number Diff line number Diff line
@@ -443,7 +443,7 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
  size_t sbytes;
  const char *mode = "octet";
  char *filename;
  char buf[8];
  char buf[64];
  struct SessionHandle *data = state->conn->data;
  CURLcode res = CURLE_OK;

@@ -489,11 +489,16 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
    sbytes = 4 + strlen(filename) + strlen(mode);

    /* add tsize option */
    if(data->set.upload && (data->set.infilesize != -1))
      snprintf( buf, sizeof(buf), "%" FORMAT_OFF_T, data->set.infilesize );
    else
      strcpy(buf, "0"); /* the destination is large enough */

    sbytes += tftp_option_add(state, sbytes,
                              (char *)state->spacket.data+sbytes,
                              TFTP_OPTION_TSIZE);
    sbytes += tftp_option_add(state, sbytes,
                              (char *)state->spacket.data+sbytes, "0");
                              (char *)state->spacket.data+sbytes, buf);
    /* add blksize option */
    snprintf( buf, sizeof(buf), "%d", state->requested_blksize );
    sbytes += tftp_option_add(state, sbytes,