X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=filters.c;h=cff05c4a9bf24d3dc8aacc0531c4b31721aba4e9;hb=91f8d1cfa59b145296b7b5dc4ee07bdb32517b8b;hp=a1dc75f8563f223578bbc882eea5517df339ba3a;hpb=e9883cf9aa4992664bb4944d01bf7aa98d58434b;p=privoxy.git diff --git a/filters.c b/filters.c index a1dc75f8..cff05c4a 100644 --- a/filters.c +++ b/filters.c @@ -1,4 +1,4 @@ -const char filters_rcs[] = "$Id: filters.c,v 1.46 2002/03/12 01:42:49 oes Exp $"; +const char filters_rcs[] = "$Id: filters.c,v 1.53 2002/03/26 22:29:54 swa Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.c,v $ @@ -12,7 +12,7 @@ const char filters_rcs[] = "$Id: filters.c,v 1.46 2002/03/12 01:42:49 oes Exp $" * 'ijb_send_banner', and `trust_url' * * Copyright : Written by and Copyright (C) 2001 the SourceForge - * IJBSWA team. http://ijbswa.sourceforge.net + * Privoxy team. http://www.privoxy.org/ * * Based on the Internet Junkbuster originally written * by and Copyright (C) 1997 Anonymous Coders and @@ -38,6 +38,29 @@ const char filters_rcs[] = "$Id: filters.c,v 1.46 2002/03/12 01:42:49 oes Exp $" * * Revisions : * $Log: filters.c,v $ + * Revision 1.53 2002/03/26 22:29:54 swa + * we have a new homepage! + * + * Revision 1.52 2002/03/24 16:35:57 jongfoster + * Removing logo + * + * Revision 1.51 2002/03/24 15:23:33 jongfoster + * Name changes + * + * Revision 1.50 2002/03/24 13:25:43 swa + * name change related issues + * + * Revision 1.49 2002/03/16 20:29:14 oes + * Cosmetics + * + * Revision 1.48 2002/03/13 20:25:34 oes + * Better logging for content filters + * + * Revision 1.47 2002/03/13 00:30:52 jongfoster + * Killing warnings + * Added option of always sending redirect for imageblock, + * currently disabled with #if 0. + * * Revision 1.46 2002/03/12 01:42:49 oes * Introduced modular filters * @@ -676,15 +699,15 @@ struct http_response *block_url(struct client_state *csp) #if 1 /* Two alternative strategies, use this one for now: */ /* and handle accordingly: */ - if ((p == NULL) || (0 == strcmpic(p, "logo"))) + if ((p == NULL) || (0 == strcmpic(p, "pattern"))) { - rsp->body = bindup(image_logo_data, image_logo_length); + rsp->body = bindup(image_pattern_data, image_pattern_length); if (rsp->body == NULL) { free_http_response(rsp); return cgi_error_memory(); } - rsp->content_length = image_logo_length; + rsp->content_length = image_pattern_length; if (enlist_unique_header(rsp->headers, "Content-Type", BUILTIN_IMAGE_MIMETYPE)) { @@ -710,26 +733,9 @@ struct http_response *block_url(struct client_state *csp) } } - else if (0 == strcmpic(p, "pattern")) - { - rsp->body = bindup(image_pattern_data, image_pattern_length); - if (rsp->body == NULL) - { - free_http_response(rsp); - return cgi_error_memory(); - } - rsp->content_length = image_pattern_length; - - if (enlist_unique_header(rsp->headers, "Content-Type", BUILTIN_IMAGE_MIMETYPE)) - { - free_http_response(rsp); - return cgi_error_memory(); - } - } - else { - rsp->status = strdup("302 Local Redirect from Junkbuster"); + rsp->status = strdup("302 Local Redirect from Privoxy"); if (rsp->status == NULL) { free_http_response(rsp); @@ -746,19 +752,15 @@ struct http_response *block_url(struct client_state *csp) #else /* Following code is disabled for now */ /* and handle accordingly: */ - if ((p == NULL) || (0 == strcmpic(p, "logo"))) + if ((p == NULL) || (0 == strcmpic(p, "pattern"))) { - p = CGI_PREFIX "send-banner?type=logo"; + p = CGI_PREFIX "send-banner?type=pattern"; } else if (0 == strcmpic(p, "blank")) { p = CGI_PREFIX "send-banner?type=blank"; } - else if (0 == strcmpic(p, "pattern")) - { - p = CGI_PREFIX "send-banner?type=pattern"; - } - rsp->status = strdup("302 Local Redirect from Junkbuster"); + rsp->status = strdup("302 Local Redirect from Privoxy"); if (rsp->status == NULL) { free_http_response(rsp); @@ -1031,7 +1033,7 @@ struct http_response *redirect_url(struct client_state *csp) } if ( enlist_unique_header(rsp->headers, "Location", q) - || (NULL == (rsp->status = strdup("302 Local Redirect from Junkbuster"))) ) + || (NULL == (rsp->status = strdup("302 Local Redirect from Privoxy"))) ) { free_http_response(rsp); return cgi_error_memory(); @@ -1094,7 +1096,7 @@ int is_imageurl(struct client_state *csp) #endif /* def FEATURE_IMAGE_BLOCKING */ -#ifdef FEATURE_COOKIE_JAR +#ifdef FEATURE_TRUST /********************************************************************* * * Function : is_untrusted_url @@ -1148,15 +1150,10 @@ int is_untrusted_url(struct client_state *csp) return 1; } - /* - * If not, do we maybe trust its referrer? - */ - /* - * Parse the URL from the referrer + * If not, do we maybe trust its referrer? */ - err = parse_http_url(referer, rhttp, csp); if (err) { @@ -1218,7 +1215,7 @@ int is_untrusted_url(struct client_state *csp) } return 1; } -#endif /* def FEATURE_COOKIE_JAR */ +#endif /* def FEATURE_TRUST */ /********************************************************************* @@ -1290,26 +1287,29 @@ char *pcrs_filter_response(struct client_state *csp) for (filtername = csp->action->multi[ACTION_MULTI_FILTER]->first; filtername ; filtername = filtername->next) { - if (strcmp(b->filtername, filtername->str) == 0) + if (strcmp(b->name, filtername->str) == 0) { + int current_hits = 0; + if ( NULL == b->joblist ) { - log_error(LOG_LEVEL_RE_FILTER, "Filter %s has empty joblist. Nothing to do.", b->filtername); + log_error(LOG_LEVEL_RE_FILTER, "Filter %s has empty joblist. Nothing to do.", b->name); return(NULL); } log_error(LOG_LEVEL_RE_FILTER, "re_filtering %s%s (size %d) with filter %s...", - csp->http->hostport, csp->http->path, size, b->filtername); + csp->http->hostport, csp->http->path, size, b->name); /* Apply all jobs from the joblist */ for (job = b->joblist; NULL != job; job = job->next) { - hits += pcrs_execute(job, old, size, &new, &size); + current_hits += pcrs_execute(job, old, size, &new, &size); if (old != csp->iob->cur) free(old); old=new; } - log_error(LOG_LEVEL_RE_FILTER, " ...produced %d hits (new size %d).", hits, size); + log_error(LOG_LEVEL_RE_FILTER, " ...produced %d hits (new size %d).", current_hits, size); + hits += current_hits; } } } @@ -1388,7 +1388,14 @@ char *gif_deanimate_response(struct client_state *csp) } else { - log_error(LOG_LEVEL_DEANIMATE, "Success! GIF shrunk from %d bytes to %d.", size, out->offset); + if ((int)size == out->offset) + { + log_error(LOG_LEVEL_DEANIMATE, "GIF not changed."); + } + else + { + log_error(LOG_LEVEL_DEANIMATE, "Success! GIF shrunk from %d bytes to %d.", size, out->offset); + } csp->content_length = out->offset; csp->flags |= CSP_FLAG_MODIFIED; p = out->buffer;