X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=filters.c;h=4a959751baf995b11e5a569ca0d89953c38f2af4;hp=b2940c1b8f0097b0b2699e7ca126191526a911a8;hb=b8e4d2f10d54ba6e020c89f7b980062bc3ab028b;hpb=f4107f65b676b63a199fe4230e58695757f9f199 diff --git a/filters.c b/filters.c index b2940c1b..4a959751 100644 --- a/filters.c +++ b/filters.c @@ -1,4 +1,4 @@ -const char filters_rcs[] = "$Id: filters.c,v 1.103 2008/03/06 16:33:45 fabiankeil Exp $"; +const char filters_rcs[] = "$Id: filters.c,v 1.105 2008/03/28 15:13:39 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.c,v $ @@ -10,8 +10,8 @@ const char filters_rcs[] = "$Id: filters.c,v 1.103 2008/03/06 16:33:45 fabiankei * `filter_popups', `forward_url', 'redirect_url', * `ij_untrusted_url', `intercept_url', `pcrs_filter_respose', * `ijb_send_banner', `trust_url', `gif_deanimate_response', - * `jpeg_inspect_response', `execute_single_pcrs_command', - * `rewrite_url', `get_last_url' + * `execute_single_pcrs_command', `rewrite_url', + * `get_last_url' * * Copyright : Written by and Copyright (C) 2001, 2004-2008 the SourceForge * Privoxy team. http://www.privoxy.org/ @@ -40,6 +40,12 @@ const char filters_rcs[] = "$Id: filters.c,v 1.103 2008/03/06 16:33:45 fabiankei * * Revisions : * $Log: filters.c,v $ + * Revision 1.105 2008/03/28 15:13:39 fabiankeil + * Remove inspect-jpegs action. + * + * Revision 1.104 2008/03/27 18:27:24 fabiankeil + * Remove kill-popups action. + * * Revision 1.103 2008/03/06 16:33:45 fabiankeil * If limit-connect isn't used, don't limit CONNECT requests to port 443. * @@ -2057,68 +2063,6 @@ static char *gif_deanimate_response(struct client_state *csp) } -/********************************************************************* - * - * Function : jpeg_inspect_response - * - * Description : - * - * Parameters : - * 1 : csp = Current client state (buffers, headers, etc...) - * - * Returns : a pointer to the (newly allocated) modified buffer - * or NULL in case something went wrong. - * - *********************************************************************/ -static char *jpeg_inspect_response(struct client_state *csp) -{ - struct binbuffer *in = NULL; - struct binbuffer *out = NULL; - char *p = NULL; - size_t size; - - size = (size_t)(csp->iob->eod - csp->iob->cur); - - if (NULL == (in = (struct binbuffer *)zalloc(sizeof *in ))) - { - log_error(LOG_LEVEL_DEANIMATE, "failed! (jpeg no mem 1)"); - return NULL; - } - - if (NULL == (out = (struct binbuffer *)zalloc(sizeof *out))) - { - log_error(LOG_LEVEL_DEANIMATE, "failed! (jpeg no mem 2)"); - return NULL; - } - - in->buffer = csp->iob->cur; - in->size = size; - - /* - * Calling jpeg_inspect has the side-effect of creating and - * modifying the image buffer of "out" directly. - */ - if (jpeg_inspect(in, out)) - { - log_error(LOG_LEVEL_DEANIMATE, "failed! (jpeg parsing)"); - freez(in); - buf_free(out); - return(NULL); - - } - else - { - csp->content_length = out->offset; - csp->flags |= CSP_FLAG_MODIFIED; - p = out->buffer; - freez(in); - freez(out); - return(p); - } - -} - - /********************************************************************* * * Function : get_filter_function @@ -2190,11 +2134,6 @@ filter_function_ptr get_filter_function(struct client_state *csp) { filter_function = gif_deanimate_response; } - else if ((csp->content_type & CT_JPEG) && - (csp->action->flags & ACTION_JPEG_INSPECT)) - { - filter_function = jpeg_inspect_response; - } return filter_function; } @@ -2724,16 +2663,15 @@ struct http_response *direct_response(struct client_state *csp) * enabled for the current request. * * Parameters : - * 1 : csp = Current client state (buffers, headers, etc...) + * 1 : action = Action spec to check. * * Returns : TRUE for yes, FALSE otherwise * *********************************************************************/ -inline int content_filters_enabled(const struct client_state *csp) +int content_filters_enabled(const struct current_action_spec *action) { - return (((csp->rlist != NULL) && - (!list_is_empty(csp->action->multi[ACTION_MULTI_FILTER]))) || - (csp->action->flags & (ACTION_DEANIMATE|ACTION_JPEG_INSPECT))); + return ((action->flags & ACTION_DEANIMATE) || + !list_is_empty(action->multi[ACTION_MULTI_FILTER])); } /*