From: Fabian Keil Date: Sat, 10 Feb 2007 16:55:22 +0000 (+0000) Subject: - Show forwarding settings on the show-url-info page X-Git-Tag: v_3_0_7~338 X-Git-Url: http://www.privoxy.org/gitweb/03andreas.jpg?a=commitdiff_plain;h=4dc78efef707ae654ed69a373c609727bc0ac8b9;p=privoxy.git - Show forwarding settings on the show-url-info page - Fix some HTML syntax errors. --- diff --git a/cgisimple.c b/cgisimple.c index 22f5dd8b..64fd90dc 100644 --- a/cgisimple.c +++ b/cgisimple.c @@ -1,4 +1,4 @@ -const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.49 2007/01/20 16:29:38 fabiankeil Exp $"; +const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.50 2007/01/23 15:51:17 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/cgisimple.c,v $ @@ -36,6 +36,9 @@ const char cgisimple_rcs[] = "$Id: cgisimple.c,v 1.49 2007/01/20 16:29:38 fabian * * Revisions : * $Log: cgisimple.c,v $ + * Revision 1.50 2007/01/23 15:51:17 fabiankeil + * Add favicon delivery functions. + * * Revision 1.49 2007/01/20 16:29:38 fabiankeil * Suppress edit buttons for action files if Privoxy has * no write access. Suggested by Roland in PR 1564026. @@ -1487,7 +1490,7 @@ jb_err cgi_show_url_info(struct client_state *csp, } } - matches = strdup(""); + matches = strdup("
"); for (i = 0; i < MAX_AF_FILES; i++) { @@ -1524,7 +1527,7 @@ jb_err cgi_show_url_info(struct client_state *csp, { string_append(&matches, "\n"); @@ -1547,9 +1550,62 @@ jb_err cgi_show_url_info(struct client_state *csp, } string_append(&matches, "
{"); string_join (&matches, actions_to_html(csp, b->action)); - string_append(&matches, " }
\n"); + string_append(&matches, " }
\n"); string_join (&matches, html_encode(b->url->spec)); string_append(&matches, "
\n"); + /* + * Fill in forwarding settings. + * + * The possibilities are: + * - no forwarding + * - http forwarding only + * - socks4(a) forwarding only + * - socks4(a) and http forwarding. + * + * XXX: Parts of this code could be reused for the + * "forwarding-failed" template which currently doesn't + * display the proxy port and an eventuell second forwarder. + */ + { + const struct forward_spec * fwd = forward_url(url_to_query, csp); + + if ((fwd->gateway_host == NULL) && (fwd->forward_host == NULL)) + { + if (!err) err = map_block_killer(exports, "socks-forwarder"); + if (!err) err = map_block_killer(exports, "http-forwarder"); + } + else + { + char port[10]; /* We save proxy ports as int but need a string here */ + + if (!err) err = map_block_killer(exports, "no-forwarder"); + + if (fwd->gateway_host != NULL) + { + if (!err) err = map(exports, "socks-type", 1, (fwd->type == SOCKS_4) ? + "socks4" : "socks4a", 1); + if (!err) err = map(exports, "gateway-host", 1, fwd->gateway_host, 1); + snprintf(port, sizeof(port), "%d", fwd->gateway_port); + if (!err) err = map(exports, "gateway-port", 1, port, 1); + } + else + { + if (!err) err = map_block_killer(exports, "socks-forwarder"); + } + + if (fwd->forward_host != NULL) + { + if (!err) err = map(exports, "forward-host", 1, fwd->forward_host, 1); + snprintf(port, sizeof(port), "%d", fwd->forward_port); + if (!err) err = map(exports, "forward-port", 1, port, 1); + } + else + { + if (!err) err = map_block_killer(exports, "http-forwarder"); + } + } + } + free_http_request(url_to_query); - if (matches == NULL) + if (err || matches == NULL) { free_current_action(action); free_map(exports); diff --git a/templates/show-url-info b/templates/show-url-info index 1b4a69b9..3fc9f6fd 100644 --- a/templates/show-url-info +++ b/templates/show-url-info @@ -1,8 +1,34 @@ -########################################################## +######################################################################## # -# Show-Url-Info-CGI Output template for Privoxy. +# File : $Source:$ # +# Purpose : Template for Privoxy's show-url-info CGI page. # +# Copyright : Written by and Copyright (C) 2001-2007 the SourceForge +# Privoxy team. http://www.privoxy.org/ +# +# 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 +# your option) any later version. +# +# This program is distributed in the hope that it will +# be useful, but WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# The GNU General Public License should be included with +# this file. If not, you can view it at +# http://www.gnu.org/copyleft/gpl.html +# or write to the Free Software Foundation, Inc., 59 +# Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Revisions : +# $Log: show-url-info,v $ +# +######################################################################### # USING HTML TEMPLATES: # --------------------- # @@ -28,24 +54,22 @@ # -------------------------------- # # my-ip-addr: -# The IP-address that the client used to reach this proxy +# The IP-address that the client used to reach Privoxy # my-hostname: # The hostname associated with my-ip-addr # admin-address: -# The email address of the pxoxy's administrator, as configured +# The email address of the Privoxy administrator, as configured # in the config file # default-cgi: -# The URL for the "main menu" builtin CGI of this proxy +# The URL for Privoxy's "main menu" builtin CGI page # menu: # List of
  • elements linking to the other available CGIs # version: -# The version number of the proxy software +# Privoxy's version number # code-status: -# The development status of the proxy software: "alpha", "beta", -# or "stable". +# Privoxy's development status: "alpha", "beta", or "stable". # homepage: -# The URL of the SourceForge ijbswa project, who maintains this -# software. +# The Privoxy web site. # # CONDITIONAL SYMBOLS FOR THIS TEMPLATE AND THEIR DEPANDANT SYMBOLS: # ------------------------------------------------------------------ @@ -78,6 +102,21 @@ # final: # The actions that are associated with the URL at the end of # the matching process +# no-forwarder: Requests to url will be made directly. +# http-forwarder: +# Requests to url will be made through a HTTP proxy +# forward-host: +# The IP address or its hostname +# forward-port. +# The proxy port +# socks-forwarder: +# Requests to url will be made through a socks proxy +# socks-type: +# The socks type: socks4 or socks4a +# gateway-host: +# The IP address or its hostname +# gateway-port: +# The proxy port. # @@ -115,6 +154,41 @@ + + +

    Forwarding settings:

    +

    + Requests for @url@ will be + + made directly, no forwarding settings apply + + first + + forwarded through @socks-type@-proxy @gateway-host@:@gateway-port@ + + and then + + forwarded through HTTP-proxy @forward-host@:@forward-port@. + + @@ -126,7 +200,7 @@

     

    Matches for @url@:

    -

    @matches@

    + @matches@