diff options
-rw-r--r-- | networking/httpd.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/networking/httpd.c b/networking/httpd.c index 82891f121..db8eb1e9c 100644 --- a/networking/httpd.c +++ b/networking/httpd.c | |||
@@ -254,6 +254,8 @@ 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 *http_accept;) | ||
258 | USE_FEATURE_HTTPD_CGI(char *http_accept_language;) | ||
257 | 259 | ||
258 | off_t file_size; /* -1 - unknown */ | 260 | off_t file_size; /* -1 - unknown */ |
259 | #if ENABLE_FEATURE_HTTPD_RANGES | 261 | #if ENABLE_FEATURE_HTTPD_RANGES |
@@ -299,6 +301,8 @@ struct globals { | |||
299 | #define remoteuser (G.remoteuser ) | 301 | #define remoteuser (G.remoteuser ) |
300 | #define referer (G.referer ) | 302 | #define referer (G.referer ) |
301 | #define user_agent (G.user_agent ) | 303 | #define user_agent (G.user_agent ) |
304 | #define http_accept (G.http_accept ) | ||
305 | #define http_accept_language (G.http_accept_language) | ||
302 | #define file_size (G.file_size ) | 306 | #define file_size (G.file_size ) |
303 | #if ENABLE_FEATURE_HTTPD_RANGES | 307 | #if ENABLE_FEATURE_HTTPD_RANGES |
304 | #define range_start (G.range_start ) | 308 | #define range_start (G.range_start ) |
@@ -1384,6 +1388,10 @@ static void send_cgi_and_exit( | |||
1384 | } | 1388 | } |
1385 | } | 1389 | } |
1386 | setenv1("HTTP_USER_AGENT", user_agent); | 1390 | setenv1("HTTP_USER_AGENT", user_agent); |
1391 | if (http_accept) | ||
1392 | setenv1("HTTP_ACCEPT", http_accept); | ||
1393 | if (http_accept_language) | ||
1394 | setenv1("HTTP_ACCEPT_LANGUAGE", http_accept_language); | ||
1387 | if (post_len) | 1395 | if (post_len) |
1388 | putenv(xasprintf("CONTENT_LENGTH=%d", post_len)); | 1396 | putenv(xasprintf("CONTENT_LENGTH=%d", post_len)); |
1389 | if (cookie) | 1397 | if (cookie) |
@@ -2005,6 +2013,10 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) | |||
2005 | referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1)); | 2013 | referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1)); |
2006 | } else if (STRNCASECMP(iobuf, "User-Agent:") == 0) { | 2014 | } else if (STRNCASECMP(iobuf, "User-Agent:") == 0) { |
2007 | user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1)); | 2015 | user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1)); |
2016 | } else if (STRNCASECMP(iobuf, "Accept:") == 0) { | ||
2017 | http_accept = xstrdup(skip_whitespace(iobuf + sizeof("Accept:")-1)); | ||
2018 | } else if (STRNCASECMP(iobuf, "Accept-Language:") == 0) { | ||
2019 | http_accept_language = xstrdup(skip_whitespace(iobuf + sizeof("Accept-Language:")-1)); | ||
2008 | } | 2020 | } |
2009 | #endif | 2021 | #endif |
2010 | #if ENABLE_FEATURE_HTTPD_BASIC_AUTH | 2022 | #if ENABLE_FEATURE_HTTPD_BASIC_AUTH |