-const char filters_rcs[] = "$Id: filters.c,v 1.27 2001/08/05 16:06:20 jongfoster Exp $";
+const char filters_rcs[] = "$Id: filters.c,v 1.31 2001/09/16 11:38:02 jongfoster Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/filters.c,v $
*
* Revisions :
* $Log: filters.c,v $
+ * 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
+ *
* Revision 1.27 2001/08/05 16:06:20 jongfoster
* Modifiying "struct map" so that there are now separate header and
* "map_entry" structures. This means that functions which modify a
/*
* Else, prepare a response
*/
- if (NULL == ( rsp = (struct http_response *)zalloc(sizeof(*rsp))))
+ if (NULL == (rsp = alloc_http_response()))
{
return NULL;
}
/* and handle accordingly: */
if ((p == NULL) || (0 == strcmpic(p, "logo")))
{
- rsp->body = bindup(JBGIF, sizeof(JBGIF));
- rsp->content_length = sizeof(JBGIF);
+ rsp->body = bindup(image_junkbuster_gif_data, image_junkbuster_gif_length);
+ rsp->content_length = image_junkbuster_gif_length;
enlist_unique_header(rsp->headers, "Content-Type", "image/gif");
}
else if (0 == strcmpic(p, "blank"))
{
- rsp->body = bindup(BLANKGIF, sizeof(BLANKGIF));
- rsp->content_length = sizeof(BLANKGIF);
+ rsp->body = bindup(image_blank_gif_data, image_blank_gif_length);
+ rsp->content_length = image_blank_gif_length;
enlist_unique_header(rsp->headers, "Content-Type", "image/gif");
}
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;
}
const struct forward_spec * forward_url(struct http_request *http,
struct client_state *csp)
{
- static const struct forward_spec fwd_default[1];
+ static const struct forward_spec fwd_default[1] = { FORWARD_SPEC_INITIALIZER };
struct forward_spec *fwd = csp->config->forward;
struct url_spec url[1];
- memset(&fwd_default, '\0', sizeof(struct forward_spec));
-
if (fwd == NULL)
{
return(fwd_default);