X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=cgisimple.c;h=5099a579e765d43ca1e3219fa5bb34e4d02f45ac;hp=e738a605204e13f6873a3cf30c8fe23763686d1b;hb=4a2435132af71a3db7f25939c9706deec2651fe5;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
}
};