mirror of
https://github.com/curl/curl.git
synced 2026-07-28 04:03:14 +03:00
large headers: have curl accept >16K headers
As commit 5850cc4808 clarifies, libcurl can deliver header lines that
are longer than CURL_MAX_WRITE_SIZE, only body data is limited to that
size. The curl tool has check (when built debug-enabled) that made the
wrong checks and this new test 1205 verifies that larger headers work.
This commit is contained in:
parent
5850cc4808
commit
515f11e79b
4 changed files with 63 additions and 6 deletions
|
|
@ -60,8 +60,7 @@ size_t tool_header_cb(void *ptr, size_t size, size_t nmemb, void *userdata)
|
|||
return failure;
|
||||
|
||||
#ifdef DEBUGBUILD
|
||||
if((size * nmemb > (size_t)CURL_MAX_WRITE_SIZE) ||
|
||||
(size * nmemb > (size_t)CURL_MAX_HTTP_HEADER)) {
|
||||
if(size * nmemb > (size_t)CURL_MAX_HTTP_HEADER) {
|
||||
warnf(outs->config, "Header data exceeds single call write limit!\n");
|
||||
return failure;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,9 +55,17 @@ size_t tool_write_cb(void *buffer, size_t sz, size_t nmemb, void *userdata)
|
|||
return failure;
|
||||
|
||||
#ifdef DEBUGBUILD
|
||||
if(sz * nmemb > (size_t)CURL_MAX_WRITE_SIZE) {
|
||||
warnf(config, "Data size exceeds single call write limit!\n");
|
||||
return failure;
|
||||
if(config->include_headers) {
|
||||
if(sz * nmemb > (size_t)CURL_MAX_HTTP_HEADER) {
|
||||
warnf(config, "Data size exceeds single call write limit!\n");
|
||||
return failure;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(sz * nmemb > (size_t)CURL_MAX_WRITE_SIZE) {
|
||||
warnf(config, "Data size exceeds single call write limit!\n");
|
||||
return failure;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue