projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update the list of supported operating systems
[privoxy.git]
/
cgisimple.c
diff --git
a/cgisimple.c
b/cgisimple.c
index
9540b70
..
95cb7ad
100644
(file)
--- a/
cgisimple.c
+++ b/
cgisimple.c
@@
-1,22
+1,19
@@
-const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.1
08 2011/03/03 14:42:55
fabiankeil Exp $";
+const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.1
14 2012/03/09 16:24:36
fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
*
* Purpose : Simple CGIs to get information about Privoxy's
* status.
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
*
* Purpose : Simple CGIs to get information about Privoxy's
* status.
- *
- * Functions declared include:
- *
*
* Copyright : Written by and Copyright (C) 2001-2011 the
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
*
* Copyright : Written by and Copyright (C) 2001-2011 the
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
- * by and Copyright (C) 1997 Anonymous Coders and
+ * by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* Junkbusters Corporation. http://www.junkbusters.com
*
- * This program is free software; you can redistribute it
+ * This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
@@
-80,7
+77,7
@@
static jb_err load_file(const char *filename, char **buffer, size_t *length);
* Description : CGI function that is called for the CGI_SITE_1_HOST
* and CGI_SITE_2_HOST/CGI_SITE_2_PATH base URLs.
* Boring - only exports the default exports.
* Description : CGI function that is called for the CGI_SITE_1_HOST
* and CGI_SITE_2_HOST/CGI_SITE_2_PATH base URLs.
* Boring - only exports the default exports.
- *
+ *
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
@@
-118,7
+115,7
@@
jb_err cgi_default(struct client_state *csp,
*
* Description : CGI function that is called if an unknown action was
* given.
*
* Description : CGI function that is called if an unknown action was
* given.
- *
+ *
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
@@
-127,7
+124,7
@@
jb_err cgi_default(struct client_state *csp,
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_error_404(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_error_404(struct client_state *csp,
@@
-165,7
+162,7
@@
jb_err cgi_error_404(struct client_state *csp,
* NOTE: Turning this on in a production build
* would be a BAD idea. An EXTREMELY BAD idea.
* In short, don't do it.
* NOTE: Turning this on in a production build
* would be a BAD idea. An EXTREMELY BAD idea.
* In short, don't do it.
- *
+ *
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
@@
-174,7
+171,7
@@
jb_err cgi_error_404(struct client_state *csp,
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_die (struct client_state *csp,
*
*********************************************************************/
jb_err cgi_die (struct client_state *csp,
@@
-227,7
+224,7
@@
jb_err cgi_die (struct client_state *csp,
*
* Description : Show the client's request and what sed() would have
* made of it.
*
* Description : Show the client's request and what sed() would have
* made of it.
- *
+ *
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
* 2 : rsp = http_response data structure for output
@@
-236,7
+233,7
@@
jb_err cgi_die (struct client_state *csp,
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_show_request(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_show_request(struct client_state *csp,
@@
-254,7
+251,7
@@
jb_err cgi_show_request(struct client_state *csp,
{
return JB_ERR_MEMORY;
}
{
return JB_ERR_MEMORY;
}
-
+
/*
* Repair the damage done to the IOB by get_header()
*/
/*
* Repair the damage done to the IOB by get_header()
*/
@@
-289,7
+286,7
@@
jb_err cgi_show_request(struct client_state *csp,
*
* Function : cgi_send_banner
*
*
* Function : cgi_send_banner
*
- * Description : CGI function that returns a banner.
+ * Description : CGI function that returns a banner.
*
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
*
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
@@
-304,7
+301,7
@@
jb_err cgi_show_request(struct client_state *csp,
* equivalent).
*
* Returns : JB_ERR_OK on success
* equivalent).
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_send_banner(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_send_banner(struct client_state *csp,
@@
-317,7
+314,7
@@
jb_err cgi_send_banner(struct client_state *csp,
* If type is auto, then determine the right thing
* to do from the set-image-blocker action
*/
* If type is auto, then determine the right thing
* to do from the set-image-blocker action
*/
- if (imagetype == 'a')
+ if (imagetype == 'a')
{
/*
* Default to pattern
{
/*
* Default to pattern
@@
-368,14
+365,14
@@
jb_err cgi_send_banner(struct client_state *csp,
}
#endif /* def FEATURE_IMAGE_BLOCKING */
}
}
#endif /* def FEATURE_IMAGE_BLOCKING */
}
-
+
/*
* Now imagetype is either the non-auto type we were called with,
* or it was auto and has since been determined. In any case, we
* can proceed to actually answering the request by sending a redirect
* or an image as appropriate:
*/
/*
* Now imagetype is either the non-auto type we were called with,
* or it was auto and has since been determined. In any case, we
* can proceed to actually answering the request by sending a redirect
* or an image as appropriate:
*/
- if (imagetype == 'r')
+ if (imagetype == 'r')
{
rsp->status = strdup("302 Local Redirect from Privoxy");
if (rsp->status == NULL)
{
rsp->status = strdup("302 Local Redirect from Privoxy");
if (rsp->status == NULL)
@@
-390,7
+387,7
@@
jb_err cgi_send_banner(struct client_state *csp,
}
else
{
}
else
{
- if ((imagetype == 'b') || (imagetype == 't'))
+ if ((imagetype == 'b') || (imagetype == 't'))
{
rsp->body = bindup(image_blank_data, image_blank_length);
rsp->content_length = image_blank_length;
{
rsp->body = bindup(image_blank_data, image_blank_length);
rsp->content_length = image_blank_length;
@@
-432,7
+429,7
@@
jb_err cgi_send_banner(struct client_state *csp,
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_transparent_image(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_transparent_image(struct client_state *csp,
@@
-476,7
+473,7
@@
jb_err cgi_transparent_image(struct client_state *csp,
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_send_default_favicon(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_send_default_favicon(struct client_state *csp,
@@
-537,7
+534,7
@@
jb_err cgi_send_default_favicon(struct client_state *csp,
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_send_error_favicon(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_send_error_favicon(struct client_state *csp,
@@
-599,7
+596,7
@@
jb_err cgi_send_error_favicon(struct client_state *csp,
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_send_stylesheet(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_send_stylesheet(struct client_state *csp,
@@
-607,7
+604,7
@@
jb_err cgi_send_stylesheet(struct client_state *csp,
const struct map *parameters)
{
jb_err err;
const struct map *parameters)
{
jb_err err;
-
+
assert(csp);
assert(rsp);
assert(csp);
assert(rsp);
@@
-653,7
+650,7
@@
jb_err cgi_send_stylesheet(struct client_state *csp,
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_send_url_info_osd(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_send_url_info_osd(struct client_state *csp,
@@
-739,7
+736,7
@@
static const char *get_content_type(const char *filename)
* (relative to user-manual from config)
*
* Returns : JB_ERR_OK on success
* (relative to user-manual from config)
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_send_user_manual(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_send_user_manual(struct client_state *csp,
@@
-829,7
+826,7
@@
jb_err cgi_send_user_manual(struct client_state *csp,
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
* CGI Parameters : none
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_show_version(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_show_version(struct client_state *csp,
@@
-878,7
+875,7
@@
jb_err cgi_show_version(struct client_state *csp,
* Default is to show menu and other information.
*
* Returns : JB_ERR_OK on success
* Default is to show menu and other information.
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_show_status(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_show_status(struct client_state *csp,
@@
-924,7
+921,7
@@
jb_err cgi_show_status(struct client_state *csp,
if (!err) err = map(exports, "options", 1, csp->config->proxy_args, 1);
if (!err) err = show_defines(exports);
if (!err) err = map(exports, "options", 1, csp->config->proxy_args, 1);
if (!err) err = show_defines(exports);
- if (err)
+ if (err)
{
free_map(exports);
return JB_ERR_MEMORY;
{
free_map(exports);
return JB_ERR_MEMORY;
@@
-968,8
+965,8
@@
jb_err cgi_show_status(struct client_state *csp,
#else /* ndef FEATURE_STATISTICS */
err = err || map_block_killer(exports, "statistics");
#endif /* ndef FEATURE_STATISTICS */
#else /* ndef FEATURE_STATISTICS */
err = err || map_block_killer(exports, "statistics");
#endif /* ndef FEATURE_STATISTICS */
-
- /*
+
+ /*
* List all action files in use, together with view and edit links,
* except for standard.action, which should only be viewable. (Not
* enforced in the editor itself)
* List all action files in use, together with view and edit links,
* except for standard.action, which should only be viewable. (Not
* enforced in the editor itself)
@@
-1010,7
+1007,7
@@
jb_err cgi_show_status(struct client_state *csp,
if (!err) err = string_append(&s, "</td></tr>\n");
}
}
if (!err) err = string_append(&s, "</td></tr>\n");
}
}
- if (*s != '\0')
+ if (*s != '\0')
{
if (!err) err = map(exports, "actions-filenames", 1, s, 0);
}
{
if (!err) err = map(exports, "actions-filenames", 1, s, 0);
}
@@
-1019,7
+1016,7
@@
jb_err cgi_show_status(struct client_state *csp,
if (!err) err = map(exports, "actions-filenames", 1, "<tr><td>None specified</td></tr>", 1);
}
if (!err) err = map(exports, "actions-filenames", 1, "<tr><td>None specified</td></tr>", 1);
}
- /*
+ /*
* List all re_filterfiles in use, together with view options.
* FIXME: Shouldn't include hardwired HTML here, use line template instead!
*/
* List all re_filterfiles in use, together with view options.
* FIXME: Shouldn't include hardwired HTML here, use line template instead!
*/
@@
-1036,7
+1033,7
@@
jb_err cgi_show_status(struct client_state *csp,
if (!err) err = string_append(&s, "</td></tr>\n");
}
}
if (!err) err = string_append(&s, "</td></tr>\n");
}
}
- if (*s != '\0')
+ if (*s != '\0')
{
if (!err) err = map(exports, "re-filter-filenames", 1, s, 0);
}
{
if (!err) err = map(exports, "re-filter-filenames", 1, s, 0);
}
@@
-1076,7
+1073,7
@@
jb_err cgi_show_status(struct client_state *csp,
return template_fill_for_cgi(csp, "show-status", exports, rsp);
}
return template_fill_for_cgi(csp, "show-status", exports, rsp);
}
-
+
/*********************************************************************
*
* Function : cgi_show_url_info
/*********************************************************************
*
* Function : cgi_show_url_info
@@
-1097,7
+1094,7
@@
jb_err cgi_show_status(struct client_state *csp,
* the template.
*
* Returns : JB_ERR_OK on success
* the template.
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_show_url_info(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_show_url_info(struct client_state *csp,
@@
-1144,7
+1141,7
@@
jb_err cgi_show_url_info(struct client_state *csp,
{
/*
* Empty URL (just prefix).
{
/*
* Empty URL (just prefix).
- * Make it totally empty so it's caught by the next if()
+ * Make it totally empty so it's caught by the next if
()
*/
url_param[0] = '\0';
}
*/
url_param[0] = '\0';
}
@@
-1155,7
+1152,7
@@
jb_err cgi_show_url_info(struct client_state *csp,
{
/*
* Empty URL (just prefix).
{
/*
* Empty URL (just prefix).
- * Make it totally empty so it's caught by the next if()
+ * Make it totally empty so it's caught by the next if
()
*/
url_param[0] = '\0';
}
*/
url_param[0] = '\0';
}
@@
-1215,7
+1212,7
@@
jb_err cgi_show_url_info(struct client_state *csp,
struct http_request url_to_query[1];
struct current_action_spec action[1];
int i;
struct http_request url_to_query[1];
struct current_action_spec action[1];
int i;
-
+
if (map(exports, "url", 1, html_encode(url_param), 0))
{
free(url_param);
if (map(exports, "url", 1, html_encode(url_param), 0))
{
free(url_param);
@@
-1503,7
+1500,7
@@
jb_err cgi_show_url_info(struct client_state *csp,
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
* CGI Parameters : None
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
jb_err cgi_robots_txt(struct client_state *csp,
*
*********************************************************************/
jb_err cgi_robots_txt(struct client_state *csp,
@@
-1551,7
+1548,7
@@
jb_err cgi_robots_txt(struct client_state *csp,
* 1 : exports = map to extend
*
* Returns : JB_ERR_OK on success
* 1 : exports = map to extend
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
static jb_err show_defines(struct map *exports)
*
*********************************************************************/
static jb_err show_defines(struct map *exports)
@@
-1576,6
+1573,12
@@
static jb_err show_defines(struct map *exports)
if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0);
#endif /* ndef FEATURE_CGI_EDIT_ACTIONS */
if (!err) err = map_conditional(exports, "FEATURE_CGI_EDIT_ACTIONS", 0);
#endif /* ndef FEATURE_CGI_EDIT_ACTIONS */
+#ifdef FEATURE_COMPRESSION
+ if (!err) err = map_conditional(exports, "FEATURE_COMPRESSION", 1);
+#else /* ifndef FEATURE_COMPRESSION */
+ if (!err) err = map_conditional(exports, "FEATURE_COMPRESSION", 0);
+#endif /* ndef FEATURE_COMPRESSION */
+
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1);
#else /* ifndef FEATURE_CONNECTION_KEEP_ALIVE */
#ifdef FEATURE_CONNECTION_KEEP_ALIVE
if (!err) err = map_conditional(exports, "FEATURE_CONNECTION_KEEP_ALIVE", 1);
#else /* ifndef FEATURE_CONNECTION_KEEP_ALIVE */
@@
-1795,7
+1798,7
@@
static char *show_rcs(void)
* Default is to show menu and other information.
*
* Returns : JB_ERR_OK on success
* Default is to show menu and other information.
*
* Returns : JB_ERR_OK on success
- * JB_ERR_MEMORY on out-of-memory error.
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
static jb_err cgi_show_file(struct client_state *csp,
*
*********************************************************************/
static jb_err cgi_show_file(struct client_state *csp,
@@
-1852,8
+1855,8
@@
static jb_err cgi_show_file(struct client_state *csp,
return JB_ERR_MEMORY;
}
return JB_ERR_MEMORY;
}
- if (
map(exports, "file-description", 1, file_description, 1)
- || map(exports, "filepath", 1, html_encode(filename), 0)
)
+ if (map(exports, "file-description", 1, file_description, 1)
+ || map(exports, "filepath", 1, html_encode(filename), 0))
{
free_map(exports);
return JB_ERR_MEMORY;
{
free_map(exports);
return JB_ERR_MEMORY;
@@
-1889,7
+1892,7
@@
static jb_err cgi_show_file(struct client_state *csp,
return JB_ERR_CGI_PARAMS;
}
return JB_ERR_CGI_PARAMS;
}
-
+
/*********************************************************************
*
* Function : load_file
/*********************************************************************
*
* Function : load_file