From 5f1c80f54bd4a89648be19a5629d12ada7448bf4 Mon Sep 17 00:00:00 2001 From: Duane Hughes Date: Thu, 15 Sep 2011 13:19:51 +0000 Subject: filter: use different block page if category is forbidden fixes #719 --- src/squark-filter.c | 6 ++++-- www/blocked.cgi | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 www/blocked.cgi diff --git a/src/squark-filter.c b/src/squark-filter.c index a5d4013..88e8a37 100644 --- a/src/squark-filter.c +++ b/src/squark-filter.c @@ -418,10 +418,12 @@ static void read_input(struct sqdb *db) if (!auth_ok) { send_redirect(BLOB_STR("login.cgi"), id, url, BLOB_STR("auth"), username); } else if (((1ULL << category) & entry.p.block_categories) && + (!entry.p.hard_block_categories) && (now < entry.override_time || - now > entry.override_time + FILTER_OVERRIDE_TIMEOUT || - ((1ULL << category) & entry.p.hard_block_categories))) { + now > entry.override_time + FILTER_OVERRIDE_TIMEOUT)) { send_redirect(BLOB_STR("warning.cgi"), id, url, get_category_name(db, category), username); + } else if ((1ULL << category) & entry.p.hard_block_categories) { + send_redirect(BLOB_STR("blocked.cgi"), id, url, get_category_name(db, category), username); } else send_ok(id, get_category_name(db, category), !!((1ULL << category) & entry.p.block_categories)); diff --git a/www/blocked.cgi b/www/blocked.cgi new file mode 100644 index 0000000..e08d47d --- /dev/null +++ b/www/blocked.cgi @@ -0,0 +1,28 @@ +#!/usr/bin/haserl +Content-Type: text/html;charset=UTF-8 +Pragma: no-cache +Cache-Control: no-cache + + + + + Content Filter Block + + + +
Warning sign
+
+
+

Content Filter Block

+

Access to + + has been permanently denied in an attempt to protect you from harmful content. +

+

Reason for block:

+

User credentials:

+

User IP-address:

+
+
+ + + -- cgit v1.2.3