-const char filters_rcs[] = "$Id: filters.c,v 1.28 2001/09/10 10:18:51 oes Exp $";
+const char filters_rcs[] = "$Id: filters.c,v 1.33 2001/09/16 17:05:14 jongfoster Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/filters.c,v $
*
* Revisions :
* $Log: filters.c,v $
+ * Revision 1.33 2001/09/16 17:05:14 jongfoster
+ * Removing unused #include showarg.h
+ *
+ * Revision 1.32 2001/09/16 13:21:27 jongfoster
+ * Changes to use new list functions.
+ *
+ * Revision 1.31 2001/09/16 11:38:02 jongfoster
+ * Splitting fill_template() into 2 functions:
+ * template_load() loads the file
+ * template_fill() performs the PCRS regexps.
+ * This is because the CGI edit interface has a "table row"
+ * template which is used many times in the page - this
+ * change means it's only loaded from disk once.
+ *
+ * Revision 1.30 2001/09/16 11:00:10 jongfoster
+ * New function alloc_http_response, for symmetry with free_http_response
+ *
+ * Revision 1.29 2001/09/13 23:32:40 jongfoster
+ * Moving image data to cgi.c rather than cgi.h
+ * Fixing a GPF under Win32 (and any other OS that protects global
+ * constants from being written to).
+ *
* Revision 1.28 2001/09/10 10:18:51 oes
* Silenced compiler warnings
*
#include "project.h"
#include "filters.h"
#include "encode.h"
-#include "jcc.h"
-#include "showargs.h"
#include "parsers.h"
#include "ssplit.h"
-#include "gateway.h"
-#include "jbsockets.h"
#include "errlog.h"
#include "jbsockets.h"
#include "miscutil.h"
/*
* Else, prepare a response
*/
- if (NULL == ( rsp = (struct http_response *)zalloc(sizeof(*rsp))))
+ if (NULL == (rsp = alloc_http_response()))
{
return NULL;
}
map(exports, "path", 1, csp->http->path, 1);
map(exports, "path-html", 1, html_encode(csp->http->path), 0);
- rsp->body = fill_template(csp, "blocked", exports);
+ rsp->body = template_load(csp, "blocked");
+ template_fill(&rsp->body, exports);
free_map(exports);
/*
/*
* Else, prepare a response:
*/
- if (NULL == ( rsp = (struct http_response *)zalloc(sizeof(*rsp))))
+ if (NULL == (rsp = alloc_http_response()))
{
return NULL;
}
/*
* Export the trust info, if available
*/
- if (csp->config->trust_info->next)
+ if (csp->config->trust_info->first)
{
- struct list *l;
+ struct list_entry *l;
- for (l = csp->config->trust_info->next; l ; l = l->next)
+ for (l = csp->config->trust_info->first; l ; l = l->next)
{
sprintf(buf, "<li> <a href=%s>%s</a><br>\n",l->str, l->str);
p = strsav(p, buf);
/*
* Build the response
*/
- rsp->body = fill_template(csp, "untrusted", exports);
+ rsp->body = template_load(csp, "untrusted");
+ template_fill(&rsp->body, exports);
free_map(exports);
return(finish_http_response(rsp));
{
log_error(LOG_LEVEL_REDIRECTS, "redirecting to: %s", q);
- if (NULL == ( rsp = zalloc(sizeof(*rsp))))
+ if (NULL == (rsp = alloc_http_response()))
{
return NULL;
}
char *pcrs_filter_response(struct client_state *csp)
{
int hits=0;
- int size = csp->iob->eod - csp->iob->cur;
+ size_t size;
char *old = csp->iob->cur, *new = NULL;
pcrs_job *job;
struct re_filterfile_spec *b;
/* Sanity first ;-) */
- if (size <= 0)
+ if (csp->iob->cur >= csp->iob->eod)
{
return(NULL);
}
+ size = csp->iob->eod - csp->iob->cur;
if ( ( NULL == (fl = csp->rlist) ) || ( NULL == (b = fl->f) ) )
{