- Enabled filtering banners by size rather than URL
[privoxy.git] / parsers.c
index f56c0b7..ad686b3 100644 (file)
--- a/parsers.c
+++ b/parsers.c
@@ -1,7 +1,7 @@
-const char parsers_rcs[] = "$Id: parsers.c,v 1.1 2001/05/13 21:57:06 administrator Exp $";
+const char parsers_rcs[] = "$Id: parsers.c,v 1.2 2001/05/17 23:02:36 oes Exp $";
 /*********************************************************************
  *
- * File        :  $Source: /home/administrator/cvs/ijb/parsers.c,v $
+ * File        :  $Source: /cvsroot/ijbswa/current/parsers.c,v $
  *
  * Purpose     :  Declares functions to parse/crunch headers and pages.
  *                Functions declared include:
@@ -41,6 +41,12 @@ const char parsers_rcs[] = "$Id: parsers.c,v 1.1 2001/05/13 21:57:06 administrat
  *
  * Revisions   :
  *    $Log: parsers.c,v $
+ *    Revision 1.2  2001/05/17 23:02:36  oes
+ *     - Made referrer option accept 'L' as a substitute for '§'
+ *
+ *    Revision 1.1.1.1  2001/05/15 13:59:01  oes
+ *    Initial import of version 2.9.3 source tree
+ *
  *
  *********************************************************************/
 \f
@@ -117,10 +123,10 @@ const struct interceptors intercept_patterns[] = {
 const struct parsers server_patterns[] = {
    { "set-cookie:",        11, server_set_cookie },
    { "connection:",        11, crumble },
-#ifdef PCRS
+#if defined(PCRS) || defined(KILLPOPUPS)
    { "Content-Type:",      13, content_type },
    { "Content-Length:",    15, crumble },
-#endif /* def PCRS */
+#endif /* defined(PCRS) || defined(KILLPOPUPS) */
    { NULL, 0, NULL }
 };
 
@@ -704,7 +710,7 @@ char *crumble(const struct parsers *v, char *s, struct client_state *csp)
 }
 
 
-#ifdef PCRS
+#if defined(PCRS) || defined(KILLPOPUPS)
 
 /*********************************************************************
  *
@@ -731,7 +737,7 @@ char *content_type(const struct parsers *v, char *s, struct client_state *csp)
 
 }
 
-#endif /* def PCRS */
+#endif /* defined(PCRS) || defined(KILLPOPUPS) */
 
 
 /*********************************************************************
@@ -775,7 +781,7 @@ char *client_referrer(const struct parsers *v, char *s, struct client_state *csp
 
    if (*referrer == '@')
    {
-      if (csp->send_user_cookie)
+      if (csp->permissions & PERMIT_COOKIE_READ)
       {
          return(strdup(s));
       }
@@ -787,13 +793,13 @@ char *client_referrer(const struct parsers *v, char *s, struct client_state *csp
    }
 
    /*
-    * New option §: Forge a referer as http://[hostname:port of REQUEST]/
+    * New option § or L: Forge a referer as http://[hostname:port of REQUEST]/
     * to fool stupid checks for in-site links
     */
 
-   if (*referrer == '§')
+   if (*referrer == '§' || *referrer == 'L')
    {
-      if (csp->send_user_cookie)
+      if (csp->permissions & PERMIT_COOKIE_READ)
       {
          return(strdup(s));
       }
@@ -858,7 +864,7 @@ char *client_uagent(const struct parsers *v, char *s, struct client_state *csp)
 
    if (*uagent == '@')
    {
-      if (csp->send_user_cookie)
+      if (csp->permissions & PERMIT_COOKIE_READ)
       {
          return(strdup(s));
       }
@@ -907,7 +913,7 @@ char *client_ua(const struct parsers *v, char *s, struct client_state *csp)
 
    if (*uagent == '@')
    {
-      if (csp->send_user_cookie)
+      if (csp->permissions & PERMIT_COOKIE_READ)
       {
          return(strdup(s));
       }
@@ -981,7 +987,7 @@ char *client_from(const struct parsers *v, char *s, struct client_state *csp)
  *********************************************************************/
 char *client_send_cookie(const struct parsers *v, char *s, struct client_state *csp)
 {
-   if (csp->send_user_cookie)
+   if (csp->permissions & PERMIT_COOKIE_READ)
    {
       enlist(csp->cookie_list, s + v->len + 1);
    }
@@ -1216,7 +1222,7 @@ char *server_set_cookie(const struct parsers *v, char *s, struct client_state *c
    }
 #endif /* def JAR_FILES */
 
-   if (csp->accept_server_cookie == 0)
+   if (!(csp->permissions & PERMIT_COOKIE_SET))
    {
       return(crumble(v, s, csp));
    }