- pass "Accept:" and "Accept-Language:" header to CGI scripts (Alina Friedrichsen)
No binary (build failed)
—
(log yok)
| @@ -254,6 +254,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 | |
| @@ -299,6 +301,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 ) | |
| @@ -1384,6 +1388,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) | |
| @@ -2005,6 +2013,10 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) | |
| 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 | |