aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-11-22 20:29:35 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-11-22 20:29:35 +0000
commit9d1d4c06d7926d736584efaf814897c28154fc89 (patch)
tree63496e99ac5030d894ffa0b50b228bb166594cdb
parent3bc3f08370e9cf6a2fdeb24c767e0745348b688b (diff)
downloadbusybox-w32-9d1d4c06d7926d736584efaf814897c28154fc89.tar.gz
busybox-w32-9d1d4c06d7926d736584efaf814897c28154fc89.tar.bz2
busybox-w32-9d1d4c06d7926d736584efaf814897c28154fc89.zip
httpd: set $HOST to Host: header value. +83 bytes.
by Tobias Poschwatta (tp AT fonz.de)
-rw-r--r--networking/httpd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index db8eb1e9c..3a2e6b14b 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -254,6 +254,7 @@ struct globals {
254 USE_FEATURE_HTTPD_BASIC_AUTH(char *remoteuser;) 254 USE_FEATURE_HTTPD_BASIC_AUTH(char *remoteuser;)
255 USE_FEATURE_HTTPD_CGI(char *referer;) 255 USE_FEATURE_HTTPD_CGI(char *referer;)
256 USE_FEATURE_HTTPD_CGI(char *user_agent;) 256 USE_FEATURE_HTTPD_CGI(char *user_agent;)
257 USE_FEATURE_HTTPD_CGI(char *host;)
257 USE_FEATURE_HTTPD_CGI(char *http_accept;) 258 USE_FEATURE_HTTPD_CGI(char *http_accept;)
258 USE_FEATURE_HTTPD_CGI(char *http_accept_language;) 259 USE_FEATURE_HTTPD_CGI(char *http_accept_language;)
259 260
@@ -301,6 +302,7 @@ struct globals {
301#define remoteuser (G.remoteuser ) 302#define remoteuser (G.remoteuser )
302#define referer (G.referer ) 303#define referer (G.referer )
303#define user_agent (G.user_agent ) 304#define user_agent (G.user_agent )
305#define host (G.host )
304#define http_accept (G.http_accept ) 306#define http_accept (G.http_accept )
305#define http_accept_language (G.http_accept_language) 307#define http_accept_language (G.http_accept_language)
306#define file_size (G.file_size ) 308#define file_size (G.file_size )
@@ -1406,6 +1408,7 @@ static void send_cgi_and_exit(
1406#endif 1408#endif
1407 if (referer) 1409 if (referer)
1408 setenv1("HTTP_REFERER", referer); 1410 setenv1("HTTP_REFERER", referer);
1411 setenv1("HTTP_HOST", host); /* set to "" if NULL */
1409 1412
1410 xpiped_pair(fromCgi); 1413 xpiped_pair(fromCgi);
1411 xpiped_pair(toCgi); 1414 xpiped_pair(toCgi);
@@ -2013,6 +2016,8 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
2013 referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1)); 2016 referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1));
2014 } else if (STRNCASECMP(iobuf, "User-Agent:") == 0) { 2017 } else if (STRNCASECMP(iobuf, "User-Agent:") == 0) {
2015 user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1)); 2018 user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1));
2019 } else if (STRNCASECMP(iobuf, "Host:") == 0) {
2020 host = xstrdup(skip_whitespace(iobuf + sizeof("Host:")-1));
2016 } else if (STRNCASECMP(iobuf, "Accept:") == 0) { 2021 } else if (STRNCASECMP(iobuf, "Accept:") == 0) {
2017 http_accept = xstrdup(skip_whitespace(iobuf + sizeof("Accept:")-1)); 2022 http_accept = xstrdup(skip_whitespace(iobuf + sizeof("Accept:")-1));
2018 } else if (STRNCASECMP(iobuf, "Accept-Language:") == 0) { 2023 } else if (STRNCASECMP(iobuf, "Accept-Language:") == 0) {