-const char filters_rcs[] = "$Id: filters.c,v 1.48 2002/03/13 20:25:34 oes Exp $";
+const char filters_rcs[] = "$Id: filters.c,v 1.56 2002/04/05 15:51:24 oes Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/filters.c,v $
* 'ijb_send_banner', and `trust_url'
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
- * IJBSWA team. http://ijbswa.sourceforge.net
+ * Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
*
* Revisions :
* $Log: filters.c,v $
+ * Revision 1.56 2002/04/05 15:51:24 oes
+ * - bugfix: error-pages now get correct request protocol
+ * - fix for invalid HTML in trust info
+ *
+ * Revision 1.55 2002/04/02 16:13:51 oes
+ * Fix: No "Go there anyway" for SSL
+ *
+ * Revision 1.54 2002/04/02 14:55:56 oes
+ * Bugfix: is_untrusted_url() now depends on FEATURE_TRUST, not FEATURE_COOKIE_JAR
+ *
+ * Revision 1.53 2002/03/26 22:29:54 swa
+ * we have a new homepage!
+ *
+ * Revision 1.52 2002/03/24 16:35:57 jongfoster
+ * Removing logo
+ *
+ * Revision 1.51 2002/03/24 15:23:33 jongfoster
+ * Name changes
+ *
+ * Revision 1.50 2002/03/24 13:25:43 swa
+ * name change related issues
+ *
+ * Revision 1.49 2002/03/16 20:29:14 oes
+ * Cosmetics
+ *
* Revision 1.48 2002/03/13 20:25:34 oes
* Better logging for content filters
*
* a lot! ;-)
*
* Revision 1.3 2001/05/20 16:44:47 jongfoster
- * Removing last hardcoded JunkBusters.com URLs.
+ * Removing last hardcoded Junkbusters.com URLs.
*
* Revision 1.2 2001/05/20 01:21:20 jongfoster
* Version 2.9.4 checkin.
#if 1 /* Two alternative strategies, use this one for now: */
/* and handle accordingly: */
- if ((p == NULL) || (0 == strcmpic(p, "logo")))
+ if ((p == NULL) || (0 == strcmpic(p, "pattern")))
{
- rsp->body = bindup(image_logo_data, image_logo_length);
+ rsp->body = bindup(image_pattern_data, image_pattern_length);
if (rsp->body == NULL)
{
free_http_response(rsp);
return cgi_error_memory();
}
- rsp->content_length = image_logo_length;
+ rsp->content_length = image_pattern_length;
if (enlist_unique_header(rsp->headers, "Content-Type", BUILTIN_IMAGE_MIMETYPE))
{
}
}
- else if (0 == strcmpic(p, "pattern"))
- {
- rsp->body = bindup(image_pattern_data, image_pattern_length);
- if (rsp->body == NULL)
- {
- free_http_response(rsp);
- return cgi_error_memory();
- }
- rsp->content_length = image_pattern_length;
-
- if (enlist_unique_header(rsp->headers, "Content-Type", BUILTIN_IMAGE_MIMETYPE))
- {
- free_http_response(rsp);
- return cgi_error_memory();
- }
- }
-
else
{
- rsp->status = strdup("302 Local Redirect from Junkbuster");
+ rsp->status = strdup("302 Local Redirect from Privoxy");
if (rsp->status == NULL)
{
free_http_response(rsp);
#else /* Following code is disabled for now */
/* and handle accordingly: */
- if ((p == NULL) || (0 == strcmpic(p, "logo")))
+ if ((p == NULL) || (0 == strcmpic(p, "pattern")))
{
- p = CGI_PREFIX "send-banner?type=logo";
+ p = CGI_PREFIX "send-banner?type=pattern";
}
else if (0 == strcmpic(p, "blank"))
{
p = CGI_PREFIX "send-banner?type=blank";
}
- else if (0 == strcmpic(p, "pattern"))
- {
- p = CGI_PREFIX "send-banner?type=pattern";
- }
- rsp->status = strdup("302 Local Redirect from Junkbuster");
+ rsp->status = strdup("302 Local Redirect from Privoxy");
if (rsp->status == NULL)
{
free_http_response(rsp);
#ifdef FEATURE_FORCE_LOAD
err = map(exports, "force-prefix", 1, FORCE_PREFIX, 1);
-#else /* ifndef FEATURE_FORCE_LOAD */
- err = map_block_killer(exports, "force-support");
+ if (csp->http->ssl != 0)
#endif /* ndef FEATURE_FORCE_LOAD */
+ {
+ err = map_block_killer(exports, "force-support");
+ }
+ if (!err) err = map(exports, "protocol", 1, csp->http->ssl ? "https://" : "http://", 1);
if (!err) err = map(exports, "hostport", 1, html_encode(csp->http->hostport), 0);
if (!err) err = map(exports, "path", 1, html_encode(csp->http->path), 0);
}
/*
- * Export the host, port, and referrer information
+ * Export the protocol, host, port, and referrer information
*/
err = map(exports, "hostport", 1, csp->http->hostport, 1);
+ if (!err) err = map(exports, "protocol", 1, csp->http->ssl ? "https://" : "http://", 1);
if (!err) err = map(exports, "path", 1, csp->http->path, 1);
if (NULL != (p = get_header_value(csp->headers, "Referer:")))
p = strdup("");
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);
+ sprintf(buf, "<li> <a href=\"%s\">%s</a><br>\n",l->str, l->str);
string_append(&p, buf);
}
err = map(exports, "trust-info", 1, p, 0);
}
if ( enlist_unique_header(rsp->headers, "Location", q)
- || (NULL == (rsp->status = strdup("302 Local Redirect from Junkbuster"))) )
+ || (NULL == (rsp->status = strdup("302 Local Redirect from Privoxy"))) )
{
free_http_response(rsp);
return cgi_error_memory();
#endif /* def FEATURE_IMAGE_BLOCKING */
-#ifdef FEATURE_COOKIE_JAR
+#ifdef FEATURE_TRUST
/*********************************************************************
*
* Function : is_untrusted_url
return 1;
}
- /*
- * If not, do we maybe trust its referrer?
- */
-
/*
- * Parse the URL from the referrer
+ * If not, do we maybe trust its referrer?
*/
-
err = parse_http_url(referer, rhttp, csp);
if (err)
{
}
return 1;
}
-#endif /* def FEATURE_COOKIE_JAR */
+#endif /* def FEATURE_TRUST */
/*********************************************************************