X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=filters.c;h=60d420faf60cee6512ab81746aa6eb2477775699;hp=a94454c117ca3a43f5b492fdc28183ad8fcfff3f;hb=80dd81e1532834d24103284ef91d83ef5678b63b;hpb=2dfe499721cd57f5e24918d50f605a48391f6fda diff --git a/filters.c b/filters.c index a94454c1..60d420fa 100644 --- a/filters.c +++ b/filters.c @@ -1,4 +1,4 @@ -const char filters_rcs[] = "$Id: filters.c,v 1.171 2012/03/18 13:47:33 fabiankeil Exp $"; +const char filters_rcs[] = "$Id: filters.c,v 1.175 2012/10/21 12:58:03 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.c,v $ @@ -1088,6 +1088,11 @@ char *get_last_url(char *subject, const char *redirect_mode) if (0 == strcmpic(redirect_mode, "check-decoded-url") && strchr(subject, '%')) { + char *url_segment = NULL; + char **url_segments; + size_t max_segments; + int segments; + log_error(LOG_LEVEL_REDIRECTS, "Checking \"%s\" for encoded redirects.", subject); @@ -1097,15 +1102,12 @@ char *get_last_url(char *subject, const char *redirect_mode) * go backwards through the segments, URL-decode them * and look for a URL in the decoded result. * Stop the search after the first match. - */ - char *url_segment = NULL; - /* + * * XXX: This estimate is guaranteed to be high enough as we * let ssplit() ignore empty fields, but also a bit wasteful. */ - size_t max_segments = strlen(subject) / 2; - char **url_segments = malloc(max_segments * sizeof(char *)); - int segments; + max_segments = strlen(subject) / 2; + url_segments = malloc(max_segments * sizeof(char *)); if (NULL == url_segments) { @@ -1690,7 +1692,7 @@ static char *pcrs_filter_response(struct client_state *csp) csp->flags |= CSP_FLAG_MODIFIED; csp->content_length = size; - IOB_RESET(csp); + clear_iob(csp->iob); return(new); @@ -2156,6 +2158,11 @@ const static struct forward_spec *get_forward_override_settings(struct client_st fwd->type = SOCKS_5; socks_proxy = vec[1]; } + else if (!strcasecmp(vec[0], "forward-socks5t")) + { + fwd->type = SOCKS_5T; + socks_proxy = vec[1]; + } if (NULL != socks_proxy) {