X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=loaders.c;h=2899f30146c546dcfb43a0afed456f9483568445;hp=fe123aad160a1dcc0764f115a999bd26065ad699;hb=e98e1152d5f0952684e20f92aa232d6bb90e1623;hpb=90ea7f6b1ae23b022794bf78f8f9d000d7dcda4c diff --git a/loaders.c b/loaders.c index fe123aad..2899f301 100644 --- a/loaders.c +++ b/loaders.c @@ -1,4 +1,4 @@ -const char loaders_rcs[] = "$Id: loaders.c,v 1.62 2007/04/30 15:02:18 fabiankeil Exp $"; +const char loaders_rcs[] = "$Id: loaders.c,v 1.64 2007/06/01 14:12:38 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loaders.c,v $ @@ -35,6 +35,12 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.62 2007/04/30 15:02:18 fabiankeil * * Revisions : * $Log: loaders.c,v $ + * Revision 1.64 2007/06/01 14:12:38 fabiankeil + * Add unload_forward_spec() in preparation for forward-override{}. + * + * Revision 1.63 2007/05/14 10:41:15 fabiankeil + * Ditch the csp member cookie_list[] which isn't used anymore. + * * Revision 1.62 2007/04/30 15:02:18 fabiankeil * Introduce dynamic pcrs jobs that can resolve variables. * @@ -496,10 +502,14 @@ void sweep(void) freez(csp->ip_addr_str); freez(csp->my_ip_addr_str); freez(csp->my_hostname); - freez(csp->x_forwarded); freez(csp->iob->buf); freez(csp->error_message); + if (csp->action->flags & ACTION_FORWARD_OVERRIDE && + NULL != csp->fwd) + { + unload_forward_spec(csp->fwd); + } free_http_request(csp->http); destroy_list(csp->headers); @@ -1314,6 +1324,30 @@ static void unload_re_filterfile(void *f) return; } +/********************************************************************* + * + * Function : unload_forward_spec + * + * Description : Unload the forward spec settings by freeing all + * memory referenced by members and the memory for + * the spec itself. + * + * Parameters : + * 1 : fwd = the forward spec. + * + * Returns : N/A + * + *********************************************************************/ +void unload_forward_spec(struct forward_spec *fwd) +{ + free_url_spec(fwd->url); + freez(fwd->gateway_host); + freez(fwd->forward_host); + free(fwd); + + return; +} + #ifdef FEATURE_GRACEFUL_TERMINATION /*********************************************************************