mirror of
https://gitlab.xiph.org/xiph/icecast-common.git
synced 2024-10-06 04:45:10 -04:00
Thanks to Akos Maroy <darkeye@tyrell.hu> for this. These variables need to
be uppercase always in order to comply with the HTTP specification. While not a problem internal to icecast, they were slipping into the log files and breaking some less-than-robust parsers. svn path=/trunk/httpp/; revision=2197
This commit is contained in:
parent
315259ae9f
commit
42ce945f12
@ -147,7 +147,7 @@ int httpp_parse(http_parser_t *parser, char *http_data, unsigned long len)
|
|||||||
if ((version != NULL) && ((tmp = strchr(version, '/')) != NULL)) {
|
if ((version != NULL) && ((tmp = strchr(version, '/')) != NULL)) {
|
||||||
tmp[0] = '\0';
|
tmp[0] = '\0';
|
||||||
if ((strlen(version) > 0) && (strlen(&tmp[1]) > 0)) {
|
if ((strlen(version) > 0) && (strlen(&tmp[1]) > 0)) {
|
||||||
httpp_setvar(parser, HTTPP_VAR_PROTOCOL, _lowercase(version));
|
httpp_setvar(parser, HTTPP_VAR_PROTOCOL, version);
|
||||||
httpp_setvar(parser, HTTPP_VAR_VERSION, &tmp[1]);
|
httpp_setvar(parser, HTTPP_VAR_VERSION, &tmp[1]);
|
||||||
} else {
|
} else {
|
||||||
free(data);
|
free(data);
|
||||||
@ -161,22 +161,22 @@ int httpp_parse(http_parser_t *parser, char *http_data, unsigned long len)
|
|||||||
if (parser->req_type != httpp_req_none && parser->req_type != httpp_req_unknown) {
|
if (parser->req_type != httpp_req_none && parser->req_type != httpp_req_unknown) {
|
||||||
switch (parser->req_type) {
|
switch (parser->req_type) {
|
||||||
case httpp_req_get:
|
case httpp_req_get:
|
||||||
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "get");
|
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "GET");
|
||||||
break;
|
break;
|
||||||
case httpp_req_post:
|
case httpp_req_post:
|
||||||
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "post");
|
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "POST");
|
||||||
break;
|
break;
|
||||||
case httpp_req_head:
|
case httpp_req_head:
|
||||||
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "head");
|
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "HEAD");
|
||||||
break;
|
break;
|
||||||
case httpp_req_source:
|
case httpp_req_source:
|
||||||
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "source");
|
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "SOURCE");
|
||||||
break;
|
break;
|
||||||
case httpp_req_play:
|
case httpp_req_play:
|
||||||
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "play");
|
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "PLAY");
|
||||||
break;
|
break;
|
||||||
case httpp_req_stats:
|
case httpp_req_stats:
|
||||||
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "stats");
|
httpp_setvar(parser, HTTPP_VAR_REQ_TYPE, "STATS");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user