-const char filters_rcs[] = "$Id: filters.c,v 2.0 2002/06/04 14:34:21 jongfoster Exp $";
+const char filters_rcs[] = "$Id: filters.c,v 2.1 2002/08/26 11:08:18 sarantis Exp $";
/*********************************************************************
*
- * File : $Source: /cvsroot/ijbswa/current/src/filters.c,v $
+ * File : $Source: /cvsroot/ijbswa//current/src/filters.c,v $
*
* Purpose : Declares functions to parse/crunch headers and pages.
* Functions declared include:
*
* Revisions :
* $Log: filters.c,v $
+ * Revision 2.1 2002/08/26 11:08:18 sarantis
+ * Fix typo.
+ *
* Revision 2.0 2002/06/04 14:34:21 jongfoster
* Moving source files to src/
*
*
* Description : Given a URL, decide whether it is an image or not,
* using either the info from a previous +image action
- * or, #ifdef FEATURE_IMAGE_DETECT_MSIE, the info from
- * the browser's accept header.
+ * or, #ifdef FEATURE_IMAGE_DETECT_MSIE, and the browser
+ * is MSIE and not on a Mac, tell from the browser's accept
+ * header.
*
* Parameters :
* 1 : csp = Current client state (buffers, headers, etc...)
char *tmp;
tmp = get_header_value(csp->headers, "User-Agent:");
- if (tmp && strstr(tmp, "MSIE"))
+ if (tmp && strstr(tmp, "MSIE") && !strstr(tmp, "Mac_"))
{
tmp = get_header_value(csp->headers, "Accept:");
if (tmp && strstr(tmp, "image/gif"))
if ( NULL == b->joblist )
{
log_error(LOG_LEVEL_RE_FILTER, "Filter %s has empty joblist. Nothing to do.", b->name);
- return(NULL);
+ continue;
}
log_error(LOG_LEVEL_RE_FILTER, "re_filtering %s%s (size %d) with filter %s...",
log_error(LOG_LEVEL_ERROR, "Parse error while stripping \"chunked\" transfer coding");
return(0);
}
- newsize += chunksize;
+
+ if ((newsize += chunksize) >= size)
+ {
+ log_error(LOG_LEVEL_ERROR, "Chunksize exceeds buffer in \"chunked\" transfer coding");
+ return(0);
+ }
from_p += 2;
memmove(to_p, from_p, (size_t) chunksize);