[package] busybox: update to v1.12.4 (partially closes: #4279)
[openwrt-10.03/.git] / package / busybox / patches / 450-httpd_accept_header.patch
1 --- a/networking/httpd.c
2 +++ b/networking/httpd.c
3 @@ -256,6 +256,8 @@ struct globals {
4         USE_FEATURE_HTTPD_BASIC_AUTH(char *remoteuser;)
5         USE_FEATURE_HTTPD_CGI(char *referer;)
6         USE_FEATURE_HTTPD_CGI(char *user_agent;)
7 +       USE_FEATURE_HTTPD_CGI(char *http_accept;)
8 +       USE_FEATURE_HTTPD_CGI(char *http_accept_language;)
9  
10         off_t file_size;        /* -1 - unknown */
11  #if ENABLE_FEATURE_HTTPD_RANGES
12 @@ -303,6 +305,8 @@ struct globals {
13  #define remoteuser        (G.remoteuser       )
14  #define referer           (G.referer          )
15  #define user_agent        (G.user_agent       )
16 +#define http_accept       (G.http_accept      )
17 +#define http_accept_language (G.http_accept_language)
18  #define file_size         (G.file_size        )
19  #if ENABLE_FEATURE_HTTPD_RANGES
20  #define range_start       (G.range_start      )
21 @@ -1391,6 +1395,10 @@ static void send_cgi_and_exit(
22                 }
23         }
24         setenv1("HTTP_USER_AGENT", user_agent);
25 +       if (http_accept)
26 +               setenv1("HTTP_ACCEPT", http_accept);
27 +       if (http_accept_language)
28 +               setenv1("HTTP_ACCEPT_LANGUAGE", http_accept_language);
29         if (post_len)
30                 putenv(xasprintf("CONTENT_LENGTH=%d", post_len));
31         if (cookie)
32 @@ -2028,6 +2036,10 @@ static void handle_incoming_and_exit(con
33                                 referer = xstrdup(skip_whitespace(iobuf + sizeof("Referer:")-1));
34                         } else if (STRNCASECMP(iobuf, "User-Agent:") == 0) {
35                                 user_agent = xstrdup(skip_whitespace(iobuf + sizeof("User-Agent:")-1));
36 +                       } else if (STRNCASECMP(iobuf, "Accept:") == 0) {
37 +                               http_accept = xstrdup(skip_whitespace(iobuf + sizeof("Accept:")-1));
38 +                       } else if (STRNCASECMP(iobuf, "Accept-Language:") == 0) {
39 +                               http_accept_language = xstrdup(skip_whitespace(iobuf + sizeof("Accept-Language:")-1));
40                         }
41  #endif
42  #if ENABLE_FEATURE_HTTPD_BASIC_AUTH