X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=filters.c;h=44a884f538dca8af752482aa04dd9b2920d974c6;hp=80fa4ca25199ada399d3689d3913dc300c4009b2;hb=e52df6067c712756134c5589332cc0a6936fa6f0;hpb=8e22cb9cdedac101a56a2f4e724aef21ef1a1cc4 diff --git a/filters.c b/filters.c index 80fa4ca2..44a884f5 100644 --- a/filters.c +++ b/filters.c @@ -1,4 +1,4 @@ -const char filters_rcs[] = "$Id: filters.c,v 1.6 2001/05/26 00:28:36 jongfoster Exp $"; +const char filters_rcs[] = "$Id: filters.c,v 1.8 2001/05/26 17:13:28 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/filters.c,v $ @@ -38,6 +38,13 @@ const char filters_rcs[] = "$Id: filters.c,v 1.6 2001/05/26 00:28:36 jongfoster * * Revisions : * $Log: filters.c,v $ + * Revision 1.8 2001/05/26 17:13:28 jongfoster + * Filled in a function comment. + * + * Revision 1.7 2001/05/26 15:26:15 jongfoster + * ACL feature now provides more security by immediately dropping + * connections from untrusted hosts. + * * Revision 1.6 2001/05/26 00:28:36 jongfoster * Automatic reloading of config file. * Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32). @@ -279,11 +286,11 @@ int block_acl(struct access_control_addr *dst, * * Function : acl_addr * - * Description : Called from `load_aclfile'. FIXME: I can't say more. + * Description : Called from `load_aclfile' to parse an ACL address. * * Parameters : - * 1 : aspec = (what?) - * 2 : aca = (what?) + * 1 : aspec = String specifying ACL address. + * 2 : aca = struct access_control_addr to fill in. * * Returns : 0 => Ok, everything else is an error. * @@ -546,18 +553,17 @@ int block_imageurl_using_imagelist(struct http_request *http, struct client_stat * Function : re_process_buffer * * Description : Apply all jobs from the joblist (aka. Perl regexp's) to - * the text buffer that's been accumulated in csp->iob->buf. - * Then, write the modified buffer out to the client - * (Maybe this should happen from jcc.c via flush_socket - * for better readability). + * the text buffer that's been accumulated in csp->iob->buf + * and set csp->content_length to the modified size. * * Parameters : * 1 : csp = Current client state (buffers, headers, etc...) * - * Returns : N/A + * Returns : a pointer to the (newly allocated) modified buffer. + * * *********************************************************************/ -void re_process_buffer(struct client_state *csp) +char *re_process_buffer(struct client_state *csp) { int hits=0; int size = csp->iob->eod - csp->iob->cur; @@ -595,15 +601,11 @@ void re_process_buffer(struct client_state *csp) log_error(LOG_LEVEL_RE_FILTER, " produced %d hits (new size %d).", hits, size); - if (write_socket(csp->cfd, old, size) != size) - { - log_error(LOG_LEVEL_ERROR, "write to client failed."); - } + csp->content_length = size; /* fwiw, reset the iob */ IOB_RESET(csp); - freez(new); - return; + return(new); } #endif /* def PCRS */