X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=loaders.c;h=61d27637d6c7b62ace9970a2b3a5f67471da6867;hp=68b4c613206d0456183d14f19456179c6535fbee;hb=960ae61d1bce3289d3a79290a3d0c583620c2414;hpb=245e1cf325bc957df6226c745b7ac3f67a97ea07 diff --git a/loaders.c b/loaders.c index 68b4c613..61d27637 100644 --- a/loaders.c +++ b/loaders.c @@ -46,7 +46,7 @@ #include #include -#if !defined(_WIN32) && !defined(__OS2__) +#if !defined(_WIN32) #include #endif @@ -1164,6 +1164,10 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) new_filter = FT_EXTERNAL_CONTENT_FILTER; } #endif + else if (strncmp(buf, "CLIENT-BODY-FILTER:", 19) == 0) + { + new_filter = FT_CLIENT_BODY_FILTER; + } /* * If this is the head of a new filter block, make it a @@ -1182,6 +1186,10 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) new_bl->name = chomp(buf + 16); } #endif + else if (new_filter == FT_CLIENT_BODY_FILTER) + { + new_bl->name = chomp(buf + 19); + } else { new_bl->name = chomp(buf + 21); @@ -1211,7 +1219,7 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) /* * If this is the first filter block, chain it - * to the file_list rather than its (nonexistant) + * to the file_list rather than its (nonexistent) * predecessor */ if (fs->f == NULL) @@ -1226,7 +1234,9 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) bl = new_bl; log_error(LOG_LEVEL_RE_FILTER, "Reading in filter \"%s\" (\"%s\")", bl->name, bl->description); - +#ifdef FEATURE_EXTENDED_STATISTICS + register_filter_for_statistics(bl->name); +#endif freez(buf); continue; } @@ -1238,7 +1248,7 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) /* Save the code as "pattern", but do not compile anything. */ if (bl->patterns->first != NULL) { - log_error(LOG_LEVEL_FATAL, "External filter '%s' contains several jobss. " + log_error(LOG_LEVEL_FATAL, "External filter '%s' contains several jobs. " "Did you forget to escape a line break?", bl->name); } @@ -1323,7 +1333,8 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) } else { - log_error(LOG_LEVEL_ERROR, "Ignoring job %s outside filter block in %s, line %d", + log_error(LOG_LEVEL_ERROR, + "Ignoring job %s outside filter block in %s, line %lu", buf, csp->config->re_filterfile[fileid], linenum); } freez(buf);