1
0
mirror of https://gitlab.xiph.org/xiph/icecast-common.git synced 2024-07-07 02:44:15 -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:
Jack Moffitt 2001-10-20 07:40:09 +00:00
parent 315259ae9f
commit 42ce945f12

View File

@ -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;