Resyncing HEAD with v_3_0_branch for two OSX fixes:
[privoxy.git] / src / parsers.c
index 703c395..c617b56 100644 (file)
@@ -1,4 +1,4 @@
-const char parsers_rcs[] = "$Id: parsers.c,v 2.0 2002/06/04 14:34:21 jongfoster Exp $";
+const char parsers_rcs[] = "$Id: parsers.c,v 2.4 2003/01/26 20:24:26 david__schmidt Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/src/parsers.c,v $
@@ -40,6 +40,19 @@ const char parsers_rcs[] = "$Id: parsers.c,v 2.0 2002/06/04 14:34:21 jongfoster
  *
  * Revisions   :
  *    $Log: parsers.c,v $
+ *    Revision 2.4  2003/01/26 20:24:26  david__schmidt
+ *    Updated activity console instrumentation locations
+ *
+ *    Revision 2.3  2002/12/28 03:58:19  david__schmidt
+ *    Initial drop of dashboard instrumentation - enabled with
+ *    --enable-activity-console
+ *
+ *    Revision 2.2  2002/11/10 04:20:38  hal9
+ *    Fix typo: supressed -> suppressed
+ *
+ *    Revision 2.1  2002/09/11 11:23:59  oes
+ *    Fixed logging of cookies: Killed incoming cookies now logged; incoming/outgoing cookies now distinguished in log
+ *
  *    Revision 2.0  2002/06/04 14:34:21  jongfoster
  *    Moving source files to src/
  *
@@ -405,6 +418,11 @@ const char parsers_rcs[] = "$Id: parsers.c,v 2.0 2002/06/04 14:34:21 jongfoster
 #include <unistd.h>
 #endif
 
+#ifdef OSX_DARWIN
+#include <pthread.h>
+#include "jcc.h"
+/* jcc.h is for mutex semapores only */
+#endif /* def OSX_DARWIN */
 #include "project.h"
 #include "list.h"
 #include "parsers.h"
@@ -414,6 +432,9 @@ const char parsers_rcs[] = "$Id: parsers.c,v 2.0 2002/06/04 14:34:21 jongfoster
 #include "jbsockets.h"
 #include "miscutil.h"
 #include "list.h"
+#ifdef FEATURE_ACTIVITY_CONSOLE
+#include "stats.h"
+#endif /* def FEATURE_ACTIVITY_CONSOLE */
 
 const char parsers_h_rcs[] = PARSERS_H_VERSION;
 
@@ -1000,7 +1021,7 @@ jb_err client_accept_encoding(struct client_state *csp, char **header)
 {
    if ((csp->action->flags & ACTION_NO_COMPRESSION) != 0)
    {
-      log_error(LOG_LEVEL_HEADER, "Supressed offer to compress content");
+      log_error(LOG_LEVEL_HEADER, "Suppressed offer to compress content");
 
       freez(*header);
       if (!strcmpic(csp->http->ver, "HTTP/1.1"))
@@ -1040,7 +1061,7 @@ jb_err client_te(struct client_state *csp, char **header)
    if ((csp->action->flags & ACTION_NO_COMPRESSION) != 0)
    {
       freez(*header);
-      log_error(LOG_LEVEL_HEADER, "Supressed offer to compress transfer");
+      log_error(LOG_LEVEL_HEADER, "Suppressed offer to compress transfer");
    }
 
    return JB_ERR_OK;
@@ -1088,6 +1109,11 @@ jb_err client_referrer(struct client_state *csp, char **header)
 
    newval = csp->action->string[ACTION_STRING_REFERER];
 
+#ifdef FEATURE_ACTIVITY_CONSOLE
+   /* Otherwise, we're doing something with the referer. */
+   accumulate_stats(STATS_REFERER, 1);
+#endif /* def FEATURE_ACTIVITY_CONSOLE */
+
    if ((newval == NULL) || (0 == strcmpic(newval, "block")) )
    {
       /*
@@ -1197,6 +1223,9 @@ jb_err client_ua(struct client_state *csp, char **header)
 {
    if ((csp->action->flags & ACTION_HIDE_USER_AGENT) != 0)
    {
+#ifdef FEATURE_ACTIVITY_CONSOLE
+      accumulate_stats(STATS_CLIENT_UA, 1);
+#endif /* def FEATURE_ACTIVITY_CONSOLE */
       log_error(LOG_LEVEL_HEADER, "crunch!");
       freez(*header);
    }
@@ -1232,6 +1261,10 @@ jb_err client_from(struct client_state *csp, char **header)
       return JB_ERR_OK;
    }
 
+#ifdef FEATURE_ACTIVITY_CONSOLE
+   /* Otherwise, we're doing something with it. */
+   accumulate_stats(STATS_CLIENT_FROM, 1);
+#endif /* def FEATURE_ACTIVITY_CONSOLE */
    freez(*header);
 
    newval = csp->action->string[ACTION_STRING_FROM];
@@ -1332,6 +1365,9 @@ jb_err client_x_forwarded(struct client_state *csp, char **header)
    else
    {
       freez(*header);
+#ifdef FEATURE_ACTIVITY_CONSOLE
+      accumulate_stats(STATS_CLIENT_X_FORWARDED, 1);
+#endif /* def FEATURE_ACTIVITY_CONSOLE */
       log_error(LOG_LEVEL_HEADER, " crunch!");
    }
 
@@ -1666,6 +1702,10 @@ jb_err server_set_cookie(struct client_state *csp, char **header)
       time (&now); 
 #ifdef HAVE_LOCALTIME_R
       tm_now = *localtime_r(&now, &tm_now);
+#elif OSX_DARWIN
+      pthread_mutex_lock(&localtime_mutex);
+      tm_now = *localtime (&now); 
+      pthread_mutex_unlock(&localtime_mutex);
 #else
       tm_now = *localtime (&now); 
 #endif
@@ -1679,6 +1719,9 @@ jb_err server_set_cookie(struct client_state *csp, char **header)
    if ((csp->action->flags & ACTION_NO_COOKIE_SET) != 0)
    {
       log_error(LOG_LEVEL_HEADER, "Crunched incoming cookie -- yum!");
+#ifdef FEATURE_ACTIVITY_CONSOLE
+      accumulate_stats(STATS_COOKIE, 1);
+#endif /* def FEATURE_ACTIVITY_CONSOLE */
       return crumble(csp, header);
    }
    else if ((csp->action->flags & ACTION_NO_COOKIE_KEEP) != 0)