--- ConnectionHandler.cpp 2010-05-07 10:27:12.000000000 +0200 +++ ConnectionHandlerfred.cpp 2010-05-07 10:35:49.000000000 +0200 @@ -341,7 +341,7 @@ HTTPHeader docheader; // to hold the returned page header from proxy - docheader.setTimeout(20); + docheader.setTimeout(90); DataBuffer docbody; // to hold the returned page @@ -1814,6 +1814,18 @@ // only apply bans to things not in the grey lists bool is_ssl = header->requestType() == "CONNECT"; bool is_ip = isIPHostnameStrip(temp); + + if ((j = (*o.fg[filtergroup]).inBannedRegExpURLList(temp)) >= 0) { + (*checkme).isItNaughty = true; + (*checkme).whatIsNaughtyLog = o.language_list.getTranslation(503); + // Banned Regular Expression URL: + (*checkme).whatIsNaughtyLog += (*o.fg[filtergroup]).banned_regexpurl_list_source[j].toCharArray(); + (*checkme).whatIsNaughty = o.language_list.getTranslation(504); + // Banned Regular Expression URL found. + (*checkme).whatIsNaughtyCategories = (*o.lm.l[(*o.fg[filtergroup]).banned_regexpurl_list_ref [j]]).category.toCharArray(); + } + + if (!((*o.fg[filtergroup]).inGreySiteList(temp, true, is_ip, is_ssl) || (*o.fg[filtergroup]).inGreyURLList(temp, true, is_ip, is_ssl))) { if (!(*checkme).isItNaughty) { if ((i = (*o.fg[filtergroup]).inBannedSiteList(temp, true, is_ip, is_ssl)) != NULL) { @@ -1835,15 +1847,7 @@ (*checkme).isItNaughty = true; (*checkme).whatIsNaughtyCategories = (*o.lm.l[(*o.fg[filtergroup]).banned_url_list]).lastcategory.toCharArray(); } - else if ((j = (*o.fg[filtergroup]).inBannedRegExpURLList(temp)) >= 0) { - (*checkme).isItNaughty = true; - (*checkme).whatIsNaughtyLog = o.language_list.getTranslation(503); - // Banned Regular Expression URL: - (*checkme).whatIsNaughtyLog += (*o.fg[filtergroup]).banned_regexpurl_list_source[j].toCharArray(); - (*checkme).whatIsNaughty = o.language_list.getTranslation(504); - // Banned Regular Expression URL found. - (*checkme).whatIsNaughtyCategories = (*o.lm.l[(*o.fg[filtergroup]).banned_regexpurl_list_ref[j]]).category.toCharArray(); - } + else if ((j = o.fg[filtergroup]->inBannedRegExpHeaderList(header->header)) >= 0) { checkme->isItNaughty = true; checkme->whatIsNaughtyLog = o.language_list.getTranslation(508);