-const char parsers_rcs[] = "$Id: parsers.c,v 1.70 2006/09/08 12:06:34 fabiankeil Exp $";
+const char parsers_rcs[] = "$Id: parsers.c,v 1.74 2006/10/02 16:59:12 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/parsers.c,v $
*
* Revisions :
* $Log: parsers.c,v $
+ * Revision 1.74 2006/10/02 16:59:12 fabiankeil
+ * The special header "X-Filter: No" now disables
+ * header filtering as well.
+ *
+ * Revision 1.73 2006/09/23 13:26:38 roro
+ * Replace TABs by spaces in source code.
+ *
+ * Revision 1.72 2006/09/23 12:37:21 fabiankeil
+ * Don't print a log message every time filter_headers is
+ * entered or left. It only creates noise without any real
+ * information.
+ *
+ * Revision 1.71 2006/09/21 19:55:17 fabiankeil
+ * Fix +hide-if-modified-since{-n}.
+ *
* Revision 1.70 2006/09/08 12:06:34 fabiankeil
* Have hide-if-modified-since interpret the random
* range value as minutes instead of hours. Allows
#include "project.h"
-#ifdef OSX_DARWIN
-#include <pthread.h>
+#ifdef FEATURE_PTHREAD
#include "jcc.h"
/* jcc.h is for mutex semapores only */
-#endif /* def OSX_DARWIN */
+#endif /* def FEATURE_PTHREAD */
#include "list.h"
#include "parsers.h"
#include "encode.h"
int i, found_filters = 0;
- log_error(LOG_LEVEL_RE_FILTER, "Entered filter_headers");
/*
* Need to check the set of re_filterfiles...
*/
if ( 0 == size )
{
- log_error(LOG_LEVEL_HEADER, "Removing empty header %s", *header);
+ log_error(LOG_LEVEL_HEADER, "Removing empty header %s", *header);
freez(*header);
}
- log_error(LOG_LEVEL_RE_FILTER, "Leaving filter headers");
- return(JB_ERR_OK);
+ return(JB_ERR_OK);
}
now = time(NULL);
#ifdef HAVE_GMTIME_R
timeptr = gmtime_r(&now, &gmt);
-#elif OSX_DARWIN
+#elif FEATURE_PTHREAD
pthread_mutex_lock(&gmtime_mutex);
timeptr = gmtime(&now);
pthread_mutex_unlock(&gmtime_mutex);
last_modified += rtime;
#ifdef HAVE_GMTIME_R
timeptr = gmtime_r(&last_modified, &gmt);
-#elif OSX_DARWIN
+#elif FEATURE_PTHREAD
pthread_mutex_lock(&gmtime_mutex);
timeptr = gmtime(&last_modified);
pthread_mutex_unlock(&gmtime_mutex);
tm += rtime * (negative ? -1 : 1);
#ifdef HAVE_GMTIME_R
timeptr = gmtime_r(&tm, &gmt);
-#elif OSX_DARWIN
+#elif FEATURE_PTHREAD
pthread_mutex_lock(&gmtime_mutex);
timeptr = gmtime(&tm);
pthread_mutex_unlock(&gmtime_mutex);
{
log_error(LOG_LEVEL_INFO, "Ignored the client's request to fetch without filtering.");
}
- else
+ else
{
if (csp->action->flags & ACTION_FORCE_TEXT_MODE)
{
else
{
csp->content_type = CT_TABOO;
+ csp->action->flags &= ~ACTION_FILTER_SERVER_HEADERS;
+ csp->action->flags &= ~ACTION_FILTER_CLIENT_HEADERS;
log_error(LOG_LEVEL_HEADER, "Accepted the client's request to fetch without filtering.");
}
log_error(LOG_LEVEL_HEADER, "Crunching %s", *header);
time (&now);
#ifdef HAVE_LOCALTIME_R
tm_now = *localtime_r(&now, &tm_now);
-#elif OSX_DARWIN
+#elif FEATURE_PTHREAD
pthread_mutex_lock(&localtime_mutex);
tm_now = *localtime (&now);
pthread_mutex_unlock(&localtime_mutex);