-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.66 2008/03/21 11:16:30 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/loaders.c,v $
*
* Revisions :
* $Log: loaders.c,v $
+ * Revision 1.66 2008/03/21 11:16:30 fabiankeil
+ * Garbage-collect csp->my_ip_addr_str and csp->my_hostname.
+ *
+ * Revision 1.65 2007/12/07 18:29:23 fabiankeil
+ * Remove now-obsolete csp member x_forwarded.
+ *
+ * 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.
*
last_active->next = csp->next;
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);
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
/*********************************************************************
/*********************************************************************
*
- * Function : load_re_filterfile
+ * Function : load_re_filterfiles
*
- * Description : Load the re_filterfile.
+ * Description : Loads all the filterfiles.
* Generate a chained list of re_filterfile_spec's from
* the "FILTER: " blocks, compiling all their substitutions
* into chained lists of pcrs_job structs.
* Returns : 0 => Ok, everything else is an error.
*
*********************************************************************/
-int load_re_filterfile(struct client_state *csp)
+int load_re_filterfiles(struct client_state *csp)
{
int i;
int result;