projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add a couple of +fast-redirect{} tests
[privoxy.git]
/
cgisimple.c
diff --git
a/cgisimple.c
b/cgisimple.c
index
9540b70
..
0e9ce70
100644
(file)
--- a/
cgisimple.c
+++ b/
cgisimple.c
@@
-1,22
+1,22
@@
-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
10 2011/06/23 14:01:39
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:
* 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
+80,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
+118,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
+127,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
+165,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
+174,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
+227,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
+236,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
+254,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
+289,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
+304,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
+317,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
+368,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
+390,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
+432,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
+476,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
+537,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
+599,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
+607,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
+653,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
+739,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
+829,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
+878,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
+924,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
+968,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
+1010,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
+1019,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
+1036,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
+1076,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
+1097,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,
@@
-1215,7
+1215,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
+1503,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
+1551,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
+1576,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
+1801,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,
@@
-1889,7
+1895,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