mirror of
https://github.com/curl/curl.git
synced 2026-08-25 12:13:37 +03:00
http: added options for allowing HTTP/0.9 responses
Added CURLOPT_HTTP09_ALLOWED and --http0.9 for this purpose. For now, both the tool and library allow HTTP/0.9 by default. docs/DEPRECATE.md lays out the plan for when to reverse that default: 6 months after the 7.64.0 release. The options are added already now so that applications/scripts can start using them already now. Fixes #2873 Closes #3383
This commit is contained in:
parent
db9776ea00
commit
006ff62d8c
36 changed files with 396 additions and 59 deletions
|
|
@ -43,6 +43,7 @@ void config_init(struct OperationConfig* config)
|
|||
config->proto_default = NULL;
|
||||
config->tcp_nodelay = TRUE; /* enabled by default */
|
||||
config->happy_eyeballs_timeout_ms = CURL_HET_DEFAULT;
|
||||
config->http09_allowed = TRUE;
|
||||
}
|
||||
|
||||
static void free_config_fields(struct OperationConfig *config)
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ struct OperationConfig {
|
|||
char *krblevel;
|
||||
char *request_target;
|
||||
long httpversion;
|
||||
bool http09_allowed;
|
||||
bool nobuffer;
|
||||
bool readbusy; /* set when reading input returns EAGAIN */
|
||||
bool globoff;
|
||||
|
|
|
|||
|
|
@ -199,6 +199,7 @@ static const struct LongShort aliases[]= {
|
|||
{"01", "http1.1", ARG_NONE},
|
||||
{"02", "http2", ARG_NONE},
|
||||
{"03", "http2-prior-knowledge", ARG_NONE},
|
||||
{"09", "http0.9", ARG_BOOL},
|
||||
{"1", "tlsv1", ARG_NONE},
|
||||
{"10", "tlsv1.0", ARG_NONE},
|
||||
{"11", "tlsv1.1", ARG_NONE},
|
||||
|
|
@ -1183,6 +1184,10 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
|
|||
/* HTTP version 2.0 over clean TCP*/
|
||||
config->httpversion = CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE;
|
||||
break;
|
||||
case '9':
|
||||
/* Allow HTTP/0.9 responses! */
|
||||
config->http09_allowed = toggle;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case '1': /* --tlsv1* options */
|
||||
|
|
|
|||
|
|
@ -176,6 +176,8 @@ static const struct helptxt helptext[] = {
|
|||
"This help text"},
|
||||
{" --hostpubmd5 <md5>",
|
||||
"Acceptable MD5 hash of the host public key"},
|
||||
{" --http0.9",
|
||||
"Allow HTTP 0.9 responses"},
|
||||
{"-0, --http1.0",
|
||||
"Use HTTP 1.0"},
|
||||
{" --http1.1",
|
||||
|
|
|
|||
|
|
@ -1005,6 +1005,8 @@ static CURLcode operate_do(struct GlobalConfig *global,
|
|||
/* new in libcurl 7.21.6 */
|
||||
if(config->tr_encoding)
|
||||
my_setopt(curl, CURLOPT_TRANSFER_ENCODING, 1L);
|
||||
/* new in libcurl 7.64.0 */
|
||||
my_setopt(curl, CURLOPT_HTTP09_ALLOWED, config->http09_allowed);
|
||||
|
||||
} /* (built_in_protos & CURLPROTO_HTTP) */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue