X-Git-Url: http://www.privoxy.org/gitweb/contact.html?a=blobdiff_plain;f=cgi.c;h=6c788064c7657533608e5866345be1c7657839da;hb=5635f2262c5bd9a9fa2b0b6b05de4c5b0a3b789a;hp=b9f819473b7d9ba3d439fc2134d2ab0550ea68c9;hpb=540249459558fe9ae78dcaba162c362ba5263530;p=privoxy.git diff --git a/cgi.c b/cgi.c index b9f81947..6c788064 100644 --- a/cgi.c +++ b/cgi.c @@ -106,7 +106,7 @@ static const struct cgi_dispatcher cgi_dispatchers[] = { */ { "client-tags", cgi_show_client_tags, - "View or toggle the tags that can be set based on the clients address", + "View or toggle the tags that can be set based on the client's address", TRUE }, #endif { "show-request", @@ -444,7 +444,9 @@ static int referrer_is_safe(const struct client_state *csp) { char *referrer; static const char alternative_prefix[] = "http://" CGI_SITE_1_HOST "/"; +#ifdef FEATURE_HTTPS_INSPECTION static const char alt_prefix_https[] = "https://" CGI_SITE_1_HOST "/"; +#endif const char *trusted_cgi_referrer = csp->config->trusted_cgi_referrer; referrer = grep_cgi_referrer(csp); @@ -455,7 +457,7 @@ static int referrer_is_safe(const struct client_state *csp) log_error(LOG_LEVEL_ERROR, "Denying access to %s. No referrer found.", csp->http->url); } - else if ((0 == strncmp(referrer, CGI_PREFIX, sizeof(CGI_PREFIX)-1)) + else if ((0 == strncmp(referrer, CGI_PREFIX_HTTP, sizeof(CGI_PREFIX_HTTP)-1)) #ifdef FEATURE_HTTPS_INSPECTION || (0 == strncmp(referrer, CGI_PREFIX_HTTPS, sizeof(CGI_PREFIX_HTTPS)-1)) || (0 == strncmp(referrer, alt_prefix_https, strlen(alt_prefix_https))) @@ -535,7 +537,8 @@ static struct http_response *dispatch_known_cgi(struct client_state * csp, *query_args_start++ = '\0'; param_list = new_map(); err = map(param_list, "file", 1, url_decode(query_args_start), 0); - if (JB_ERR_OK != err) { + if (JB_ERR_OK != err) + { free(param_list); free(path_copy); return cgi_error_memory(); @@ -660,16 +663,7 @@ static struct map *parse_cgi_parameters(char *argstring) * The same hack is used in get_last_url() so it looks like * a real solution is needed. */ - size_t max_segments = strlen(argstring) / 2; - if (max_segments == 0) - { - /* - * XXX: If the argstring is empty, there's really - * no point in creating a param list, but currently - * other parts of Privoxy depend on the list's existence. - */ - max_segments = 1; - } + size_t max_segments = strlen(argstring) / 2 + 1; vector = malloc_or_die(max_segments * sizeof(char *)); cgi_params = new_map(); @@ -1274,7 +1268,7 @@ jb_err cgi_error_unknown(const struct client_state *csp, static const char body_suffix[] = "
\n" "Please " - "" + "" "file a bug report.
\n" "