- Test cases 1051, 1052 and 1055 were added by Daniel Fandrich on July 30 and

proved how PUT and POST with a redirect could lead to a "hang" due to the
  data stream not being rewound properly when it had to in order to get sent
  properly (again) to the subsequent URL. This is now fixed and these test
  cases are no longer disabled.
This commit is contained in:
Daniel Stenberg
2008-08-04 22:00:22 +00:00
parent 931fc45f05
commit 3a499099af
10 changed files with 82 additions and 21 deletions

View File

@@ -1116,6 +1116,12 @@ CURLcode Curl_readwrite(struct connectdata *conn,
data->req.newurl = strdup(data->req.location); /* clone */
if(!data->req.newurl)
return CURLE_OUT_OF_MEMORY;
/* some cases of POST and PUT etc needs to rewind the data
stream at this point */
result = Curl_http_perhapsrewind(conn);
if(result)
return result;
}
}
}
@@ -1570,6 +1576,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
/* we've waited long enough, continue anyway */
k->exp100 = EXP100_SEND_DATA;
k->keepon |= KEEP_WRITE;
infof(data, "Done waiting for 100-continue\n");
}
}
}