Convert a couple of additional messages to log level "Tagging"
[privoxy.git] / parsers.c
index 4908f27..bef3ca9 100644 (file)
--- a/parsers.c
+++ b/parsers.c
@@ -1488,7 +1488,7 @@ static jb_err header_tagger(struct client_state *csp, char *header)
 
       if (NULL == joblist)
       {
-         log_error(LOG_LEVEL_RE_FILTER,
+         log_error(LOG_LEVEL_TAGGING,
             "Tagger %s has empty joblist. Nothing to do.", b->name);
          continue;
       }
@@ -1535,11 +1535,20 @@ static jb_err header_tagger(struct client_state *csp, char *header)
              * no one would do it intentionally.
              */
             freez(tag);
-            log_error(LOG_LEVEL_INFO,
+            log_error(LOG_LEVEL_TAGGING,
                "Tagger \'%s\' created an empty tag. Ignored.", b->name);
             continue;
          }
 
+         if (list_contains_item(csp->action->multi[ACTION_MULTI_SUPPRESS_TAG], tag))
+         {
+            log_error(LOG_LEVEL_TAGGING,
+               "Tagger \'%s\' didn't add tag \'%s\': suppressed",
+               b->name, tag);
+            freez(tag);
+            continue;
+         }
+
          if (!list_contains_item(csp->tags, tag))
          {
             if (JB_ERR_OK != enlist(csp->tags, tag))
@@ -1566,7 +1575,7 @@ static jb_err header_tagger(struct client_state *csp, char *header)
                   action_message = "No action bits update necessary.";
                }
 
-               log_error(LOG_LEVEL_HEADER,
+               log_error(LOG_LEVEL_TAGGING,
                   "Tagger \'%s\' added tag \'%s\'. %s",
                   b->name, tag, action_message);
             }
@@ -1574,7 +1583,7 @@ static jb_err header_tagger(struct client_state *csp, char *header)
          else
          {
             /* XXX: Is this log-worthy? */
-            log_error(LOG_LEVEL_HEADER,
+            log_error(LOG_LEVEL_TAGGING,
                "Tagger \'%s\' didn't add tag \'%s\'. Tag already present",
                b->name, tag);
          }
@@ -4067,7 +4076,8 @@ static jb_err server_http(struct client_state *csp, char **header)
       return JB_ERR_PARSE;
    }
 
-   if (csp->http->status == 206)
+   if (csp->http->status == 101 ||
+       csp->http->status == 206)
    {
       csp->content_type = CT_TABOO;
    }
@@ -4497,7 +4507,7 @@ static jb_err parse_header_time(const char *header_time, time_t *result)
             if (*result != result2)
             {
                log_error(LOG_LEVEL_ERROR, "strftime() and strptime() disagree. "
-                  "Format: '%s'. In: '%s', out: '%s'. %d != %d. Rejecting.",
+                  "Format: '%s'. In: '%s', out: '%s'. %ld != %ld. Rejecting.",
                   time_formats[i], header_time, recreated_date, *result, result2);
                continue;
             }
@@ -4586,7 +4596,11 @@ jb_err get_destination_from_headers(const struct list *headers, struct http_requ
       return JB_ERR_PARSE;
    }
 
-   p = strdup_or_die(host);
+   p = string_tolower(host);
+   if (p == NULL)
+   {
+      return JB_ERR_MEMORY;
+   }
    chomp(p);
    q = strdup_or_die(p);
 
@@ -4673,7 +4687,11 @@ jb_err get_destination_from_https_headers(const struct list *headers, struct htt
       return JB_ERR_PARSE;
    }
 
-   p = strdup_or_die(host);
+   p = string_tolower(host);
+   if (p == NULL)
+   {
+      return JB_ERR_MEMORY;
+   }
    chomp(p);
    q = strdup_or_die(p);
 
@@ -4834,6 +4852,10 @@ static jb_err handle_conditional_hide_referrer_parameter(char **header,
       referer[hostlength+17] = '\0';
    }
    referer_url = strstr(referer, "http://");
+   if (NULL == referer_url)
+   {
+      referer_url = strstr(referer, "https://");
+   }
    if ((NULL == referer_url) || (NULL == strstr(referer_url, host)))
    {
       /* Host has changed, Referer is invalid or a https URL. */