X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=cgi.c;h=d23d9e656d74ce04d6b3b47741fc0517bbb22047;hp=8a4eea0c782785115a830add7b4e4b274dec3598;hb=1a3f7128c4fa6cff32d3bacf86812c7752915706;hpb=2036b456638847de2ce57eb1a7d4b772cc01c917 diff --git a/cgi.c b/cgi.c index 8a4eea0c..d23d9e65 100644 --- a/cgi.c +++ b/cgi.c @@ -1,4 +1,3 @@ -const char cgi_rcs[] = "$Id: cgi.c,v 1.173 2017/03/08 13:16:26 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgi.c,v $ @@ -9,7 +8,7 @@ const char cgi_rcs[] = "$Id: cgi.c,v 1.173 2017/03/08 13:16:26 fabiankeil Exp $" * actual handler functions are declared elsewhere. * * Copyright : Written by and Copyright (C) 2001-2017 - * members of the Privoxy team. http://www.privoxy.org/ + * members of the Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written * by and Copyright (C) 1997 Anonymous Coders and @@ -69,8 +68,6 @@ const char cgi_rcs[] = "$Id: cgi.c,v 1.173 2017/03/08 13:16:26 fabiankeil Exp $" /* jcc.h is for mutex semaphore globals only */ #include "jcc.h" -const char cgi_h_rcs[] = CGI_H_VERSION; - /* * List of CGI functions: name, handler, description * Note: Do NOT use single quotes in the description; @@ -96,10 +93,6 @@ static const struct cgi_dispatcher cgi_dispatchers[] = { "View the current configuration", #endif TRUE }, - { "show-version", - cgi_show_version, - NULL, /* Not considered important enough to include in the menu */ - TRUE }, #ifdef FEATURE_CLIENT_TAGS /* * This is marked as harmless because despite the description @@ -985,6 +978,9 @@ struct http_response *error_response(struct client_state *csp, case SOCKS_5T: socks_type = "socks5t-"; break; + case FORWARD_WEBSERVER: + socks_type = "webserver-"; + break; default: log_error(LOG_LEVEL_FATAL, "Unknown socks type: %d.", fwd->type); } @@ -1592,6 +1588,18 @@ struct http_response *finish_http_response(struct client_state *csp, struct http return rsp; } + /* + * Add "Cross-origin resource sharing" (CORS) headers if enabled + */ + if (NULL != csp->config->cors_allowed_origin) + { + enlist_unique_header(rsp->headers, "Access-Control-Allow-Origin", + strdup_or_die(csp->config->cors_allowed_origin)); + enlist_unique_header(rsp->headers, "Access-Control-Allow-Methods", "GET,POST"); + enlist_unique_header(rsp->headers, "Access-Control-Allow-Headers", "X-Requested-With"); + enlist_unique_header(rsp->headers, "Access-Control-Max-Age", "86400"); + } + /* * Fill in the HTTP Status, using HTTP/1.1 * unless the client asked for HTTP/1.0.