X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=cgisimple.c;h=5099a579e765d43ca1e3219fa5bb34e4d02f45ac;hp=e738a605204e13f6873a3cf30c8fe23763686d1b;hb=34a6a841e529579e2be4457ea0d4cb1befbc840a;hpb=92d54bfa51701a0b2b96a1b929bd9b7279b89fab diff --git a/cgisimple.c b/cgisimple.c index e738a605..5099a579 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -260,7 +260,13 @@ jb_err cgi_show_request(struct client_state *csp, } if (map(exports, "processed-request", 1, - html_encode_and_free_original(list_to_text(csp->headers)), 0)) + html_encode_and_free_original( +#ifdef FEATURE_HTTPS_INSPECTION + csp->http->ssl ? + list_to_text(csp->https_headers) : +#endif + list_to_text(csp->headers) + ), 0)) { free_map(exports); return JB_ERR_MEMORY; @@ -356,7 +362,7 @@ jb_err cgi_show_client_tags(struct client_state *csp, this_tag = csp->config->client_tags; if (this_tag->name == NULL) { - client_tag_status = strdup_or_die("

No tags available.

\n"); + client_tag_status = strdup_or_die("

No tags have been configured.

\n"); } else { @@ -404,6 +410,7 @@ jb_err cgi_show_client_tags(struct client_state *csp, snprintf(buf, sizeof(buf), "%u", csp->config->client_tag_lifetime); if (map(exports, "refresh-delay", 1, buf, 1)) { + freez(client_tag_status); free_map(exports); return JB_ERR_MEMORY; } @@ -413,6 +420,7 @@ jb_err cgi_show_client_tags(struct client_state *csp, err = map_block_killer(exports, "tags-expire"); if (err != JB_ERR_OK) { + freez(client_tag_status); return err; } } @@ -1087,7 +1095,7 @@ static char *get_block_reason_statistics_table(const struct client_state *csp) } get_block_reason_count(block_reason, &count); snprintf(buf, sizeof(buf), - "%s%llu", + "%s%llu\n", encoded_block_reason, count); freez(encoded_block_reason); @@ -1146,15 +1154,15 @@ static char *get_filter_statistics_table(const struct client_state *csp) if (b->type == FT_CONTENT_FILTER) { unsigned long long executions; - unsigned long long pages_modified; + unsigned long long response_bodies_modified; unsigned long long hits; - get_filter_statistics(b->name, &executions, &pages_modified, &hits); + get_filter_statistics(b->name, &executions, &response_bodies_modified, &hits); snprintf(buf, sizeof(buf), "%s%llu" "%llu" "%llu\n", - b->name, executions, pages_modified, hits); + b->name, executions, response_bodies_modified, hits); if (!err) err = string_append(&statistics, buf); } @@ -1280,26 +1288,28 @@ jb_err cgi_show_status(struct client_state *csp, #endif /* ndef FEATURE_STATISTICS */ #ifdef FEATURE_EXTENDED_STATISTICS + if (!err) { char *block_reason_statistics = get_block_reason_statistics_table(csp); if (block_reason_statistics != NULL) { - if (!err) err = map(exports, "block-reason-statistics", 1, block_reason_statistics, 0); + err = map(exports, "block-reason-statistics", 1, block_reason_statistics, 0); } else { - if (!err) err = map_block_killer(exports, "extended-statistics"); + err = map_block_killer(exports, "extended-statistics"); } } + if (!err) { char *filter_statistics = get_filter_statistics_table(csp); if (filter_statistics != NULL) { - if (!err) err = map(exports, "filter-statistics", 1, filter_statistics, 0); + err = map(exports, "filter-statistics", 1, filter_statistics, 0); } else { - if (!err) err = map_block_killer(exports, "extended-statistics"); + err = map_block_killer(exports, "extended-statistics"); } } #else /* ndef FEATURE_EXTENDED_STATISTICS */ @@ -1346,13 +1356,14 @@ jb_err cgi_show_status(struct client_state *csp, if (!err) err = string_append(&s, "\n"); } } - if (*s != '\0') + if (!err && *s != '\0') { - if (!err) err = map(exports, "actions-filenames", 1, s, 0); + err = map(exports, "actions-filenames", 1, s, 0); } else { if (!err) err = map(exports, "actions-filenames", 1, "None specified", 1); + freez(s); } /* @@ -1372,14 +1383,15 @@ jb_err cgi_show_status(struct client_state *csp, if (!err) err = string_append(&s, "\n"); } } - if (*s != '\0') + if (!err && *s != '\0') { - if (!err) err = map(exports, "re-filter-filenames", 1, s, 0); + err = map(exports, "re-filter-filenames", 1, s, 0); } else { if (!err) err = map(exports, "re-filter-filenames", 1, "None specified", 1); if (!err) err = map_block_killer(exports, "have-filterfile"); + freez(s); } #ifdef FEATURE_TRUST @@ -2090,6 +2102,22 @@ static jb_err show_defines(struct map *exports) 1, #else 0, +#endif + }, + { + "FEATURE_EXTENDED_STATISTICS", +#ifdef FEATURE_EXTENDED_STATISTICS + 1, +#else + 0, +#endif + }, + { + "FEATURE_PCRE_HOST_PATTERNS", +#ifdef FEATURE_PCRE_HOST_PATTERNS + 1, +#else + 0, #endif } };