diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-22 20:29:35 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-22 20:29:35 +0000 |
commit | 9d1d4c06d7926d736584efaf814897c28154fc89 (patch) | |
tree | 63496e99ac5030d894ffa0b50b228bb166594cdb | |
parent | 3bc3f08370e9cf6a2fdeb24c767e0745348b688b (diff) | |
download | busybox-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.c | 5 |
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) { |