From caa0ecb38edad98ac366edef498030784f19403e Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Fri, 1 Jun 2007 14:12:38 +0000 Subject: [PATCH] Add unload_forward_spec() in preparation for forward-override{}. --- loaders.c | 34 +++++++++++++++++++++++++++++++++- loaders.h | 9 +++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/loaders.c b/loaders.c index fe123aad..a6aa3610 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.63 2007/05/14 10:41:15 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loaders.c,v $ @@ -35,6 +35,9 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.62 2007/04/30 15:02:18 fabiankeil * * Revisions : * $Log: loaders.c,v $ + * 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. * @@ -500,6 +503,11 @@ void sweep(void) 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 +1322,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 /********************************************************************* diff --git a/loaders.h b/loaders.h index 0e796bb7..125d2353 100644 --- a/loaders.h +++ b/loaders.h @@ -1,9 +1,9 @@ #ifndef LOADERS_H_INCLUDED #define LOADERS_H_INCLUDED -#define LOADERS_H_VERSION "$Id: loaders.h,v 1.19 2002/03/26 22:29:55 swa Exp $" +#define LOADERS_H_VERSION "$Id: loaders.h,v 1.21 2006/07/18 14:48:46 david__schmidt Exp $" /********************************************************************* * - * File : $Source: /cvsroot/ijbswa/current/Attic/loaders.h,v $ + * File : $Source: /cvsroot/ijbswa/current/loaders.h,v $ * * Purpose : Functions to load and unload the various * configuration files. Also contains code to manage @@ -37,6 +37,10 @@ * * Revisions : * $Log: loaders.h,v $ + * Revision 1.21 2006/07/18 14:48:46 david__schmidt + * Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch) + * with what was really the latest development (the v_3_0_branch branch) + * * Revision 1.19 2002/03/26 22:29:55 swa * we have a new homepage! * @@ -216,6 +220,7 @@ void unload_current_trust_file(void); void unload_current_re_filterfile(void); #endif /* FEATURE_GRACEFUL_TERMINATION */ +void unload_forward_spec(struct forward_spec *fwd); extern void add_loader(int (*loader)(struct client_state *), struct configuration_spec * config); -- 2.39.2