You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.7 KiB
42 lines
1.7 KiB
--- a/networking/httpd.c
|
|
+++ b/networking/httpd.c
|
|
@@ -255,6 +255,8 @@ struct globals {
|
|
USE_FEATURE_HTTPD_BASIC_AUTH(char *remoteuser;)
|
|
USE_FEATURE_HTTPD_CGI(char *referer;)
|
|
USE_FEATURE_HTTPD_CGI(char *user_agent;)
|
|
+ USE_FEATURE_HTTPD_CGI(char *http_accept;)
|
|
+ USE_FEATURE_HTTPD_CGI(char *http_accept_language;)
|
|
|
|
off_t file_size; /* -1 - unknown */
|
|
#if ENABLE_FEATURE_HTTPD_RANGES
|
|
@@ -302,6 +304,8 @@ struct globals {
|
|
#define remoteuser (G.remoteuser )
|
|
#define referer (G.referer )
|
|
#define user_agent (G.user_agent )
|
|
+#define http_accept (G.http_accept )
|
|
+#define http_accept_language (G.http_accept_language)
|
|
#define file_size (G.file_size )
|
|
#if ENABLE_FEATURE_HTTPD_RANGES
|
|
#define range_start (G.range_start )
|
|
@@ -1383,6 +1387,10 @@ static void send_cgi_and_exit(
|
|
}
|
|
}
|
|
setenv1("HTTP_USER_AGENT", user_agent);
|
|
+ if (http_accept)
|
|
+ setenv1("HTTP_ACCEPT", http_accept);
|
|
+ if (http_accept_language)
|
|
+ setenv1("HTTP_ACCEPT_LANGUAGE", http_accept_language);
|
|
if (post_len)
|
|
putenv(xasprintf("CONTENT_LENGTH=%d", post_len));
|
|
if (cookie)
|
|
@@ -2020,6 +2028,10 @@ static void handle_incoming_and_exit(con
|
|
referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1));
|
|
} else if (STRNCASECMP(iobuf, "User-Agent:") == 0) {
|
|
user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1));
|
|
+ } else if (STRNCASECMP(iobuf, "Accept:") == 0) {
|
|
+ http_accept = xstrdup(skip_whitespace(iobuf + sizeof("Accept:")-1));
|
|
+ } else if (STRNCASECMP(iobuf, "Accept-Language:") == 0) {
|
|
+ http_accept_language = xstrdup(skip_whitespace(iobuf + sizeof("Accept-Language:")-1));
|
|
}
|
|
#endif
|
|
#if ENABLE_FEATURE_HTTPD_BASIC_AUTH
|
|
|