X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=cgisimple.c;h=35284a08ecf1290bfed44ba7a0ea29dbf2d1cace;hb=49c65104418948df9dc2696c1edd0ebebf3c2540;hp=1ed27e9834d896d475d14db1f3573729aec606e9;hpb=789c4b36a4955a5ef95b99ae420fe8558d1b6cf5;p=privoxy.git
diff --git a/cgisimple.c b/cgisimple.c
index 1ed27e98..35284a08 100644
--- a/cgisimple.c
+++ b/cgisimple.c
@@ -1,4 +1,4 @@
-const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.56 2007/05/21 10:50:35 fabiankeil Exp $";
+const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.59 2007/10/19 16:42:36 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $
@@ -36,6 +36,21 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.56 2007/05/21 10:50:35 fabian
*
* Revisions :
* $Log: cgisimple.c,v $
+ * Revision 1.59 2007/10/19 16:42:36 fabiankeil
+ * Plug memory leak I introduced five months ago.
+ * Yay Valgrind and Privoxy-Regression-Test.
+ *
+ * Revision 1.58 2007/07/21 12:19:50 fabiankeil
+ * If show-url-info is called with an URL that Privoxy
+ * would reject as invalid, don't show unresolved forwarding
+ * variables, "final matches" or claim the site's secure.
+ *
+ * Revision 1.57 2007/06/01 16:53:05 fabiankeil
+ * Adjust cgi_show_url_info() to show what forward-override{}
+ * would do with the requested URL (instead of showing how the
+ * request for the CGI page would be forwarded if it wasn't a
+ * CGI request).
+ *
* Revision 1.56 2007/05/21 10:50:35 fabiankeil
* - Use strlcpy() instead of strcpy().
* - Stop treating actions files special. Expect a complete file name
@@ -556,7 +571,8 @@ jb_err cgi_show_request(struct client_state *csp,
return JB_ERR_MEMORY;
}
- if (map(exports, "processed-request", 1, html_encode(list_to_text(csp->headers)), 0))
+ if (map(exports, "processed-request", 1,
+ html_encode_and_free_original(list_to_text(csp->headers)), 0))
{
free_map(exports);
return JB_ERR_MEMORY;
@@ -1479,6 +1495,7 @@ jb_err cgi_show_url_info(struct client_state *csp,
err = map(exports, "matches", 1, "[Invalid URL specified!]" , 1);
if (!err) err = map(exports, "final", 1, lookup(exports, "default"), 1);
+ if (!err) err = map_block_killer(exports, "valid-url");
free_current_action(action);
free_http_request(url_to_query);
@@ -1493,7 +1510,7 @@ jb_err cgi_show_url_info(struct client_state *csp,
}
/*
- * We have a warning about SSL paths. Hide it for insecure sites.
+ * We have a warning about SSL paths. Hide it for unencrypted sites.
*/
if (!url_to_query->ssl)
{
@@ -1526,10 +1543,22 @@ jb_err cgi_show_url_info(struct client_state *csp,
string_append(&matches, buf);
string_append(&matches, "View");
#ifdef FEATURE_CGI_EDIT_ACTIONS
- snprintf(buf, sizeof(buf), " ", i);
- string_append(&matches, buf);
- string_append(&matches, "Edit");
-#endif
+#ifdef HAVE_ACCESS
+ if (access(csp->config->actions_file[i], W_OK) == 0)
+ {
+#endif /* def HAVE_ACCESS */
+ snprintf(buf, sizeof(buf), " ", i);
+ string_append(&matches, buf);
+ string_append(&matches, "Edit");
+#ifdef HAVE_ACCESS
+ }
+ else
+ {
+ string_append(&matches, " No write access.");
+ }
+#endif /* def HAVE_ACCESS */
+#endif /* FEATURE_CGI_EDIT_ACTIONS */
+
string_append(&matches, "\n");
hits = 0;