Fix silly typos.
[privoxy.git] / filters.c
index a28fbd8..6138758 100644 (file)
--- a/filters.c
+++ b/filters.c
@@ -1,4 +1,4 @@
-const char filters_rcs[] = "$Id: filters.c,v 1.93 2007/09/29 10:21:16 fabiankeil Exp $";
+const char filters_rcs[] = "$Id: filters.c,v 1.95 2007/10/17 19:31:20 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/filters.c,v $
@@ -40,6 +40,13 @@ const char filters_rcs[] = "$Id: filters.c,v 1.93 2007/09/29 10:21:16 fabiankeil
  *
  * Revisions   :
  *    $Log: filters.c,v $
+ *    Revision 1.95  2007/10/17 19:31:20  fabiankeil
+ *    Omitting the zero chunk that ends the chunk transfer encoding seems
+ *    to be the new black. Log the problem and continue filtering anyway.
+ *
+ *    Revision 1.94  2007/09/29 13:20:20  fabiankeil
+ *    Remove two redundant and one useless log messages.
+ *
  *    Revision 1.93  2007/09/29 10:21:16  fabiankeil
  *    - Move get_filter_function() from jcc.c to filters.c
  *      so the filter functions can be static.
@@ -2182,8 +2189,8 @@ static jb_err remove_chunked_transfer_coding(char *buffer, size_t *size)
 
       if (sscanf(from_p, "%x", &chunksize) != 1)
       {
-         log_error(LOG_LEVEL_ERROR, "Parse error while stripping \"chunked\" transfer coding");
-         return JB_ERR_PARSE;
+         log_error(LOG_LEVEL_INFO, "Invalid \"chunked\" transfer encoding detected and ignored.");
+         break;
       }
    }
    
@@ -2301,7 +2308,6 @@ char *execute_content_filter(struct client_state *csp, filter_function_ptr conte
    {
       /*
        * failed to de-chunk or decompress.
-       * XXX: if possible, we should continue anyway.
        */
       return NULL;
    }
@@ -2644,6 +2650,26 @@ struct http_response *direct_response(struct client_state *csp)
 }
 
 
+/*********************************************************************
+ *
+ * Function    :  content_filters_enabled
+ *
+ * Description :  Checks whether there are any content filters
+ *                enabled for the current request.
+ *
+ * Parameters  :  
+ *          1  :  csp = Current client state (buffers, headers, etc...)
+ *
+ * Returns     :  TRUE for yes, FALSE otherwise
+ *
+ *********************************************************************/
+inline int content_filters_enabled(const struct client_state *csp)
+{
+   return (((csp->rlist != NULL) &&
+      (!list_is_empty(csp->action->multi[ACTION_MULTI_FILTER]))) ||
+      (csp->action->flags & (ACTION_DEANIMATE|ACTION_JPEG_INSPECT|ACTION_NO_POPUPS)));
+}
+
 /*
   Local Variables:
   tab-width: 3