Add the new action suppress-tag{}
authorMaxim Antonov <mantonov@gmail.com>
Tue, 13 Oct 2020 10:28:52 +0000 (17:28 +0700)
committerFabian Keil <fk@fabiankeil.de>
Mon, 14 Dec 2020 09:10:28 +0000 (10:10 +0100)
commit23009db46e81e5918bda788b31ab5e263d901182
treecdc0179a03ccc94deac4eb959bd5dc018b2db5a4
parent4985684a0376e6a84c5f542c7324617259092575
Add the new action suppress-tag{}

Usage:
in user.filters:
--begin--
CLIENT-HEADER-TAGGER: maximum-url-length Tag for URLS longer than 600 characters.

s@(^GET\s+\/.{600,}\s+HTTP\/\d\.\d\s*$)@MAXIMUM-URL-LENGTH@i
--end--

in user.actions:
--begin--
{+client-header-tagger{maximum-url-length}}
/

{+block{Maximum URL length of 600 bytes reached.}}
TAG:^MAXIMUM-URL-LENGTH

{+suppress-tag{MAXIMUM-URL-LENGTH}}
.google.*
 --end--

will block all URLs with length > 600 bytes except for google.

Currently the online action editor supports modification/removal of any
number of existing tags and the creation of a single suppress tag per
one submit. The submit scheme that is used is similar to the existing
filter one but:

1. It uses 'string_filter[_r|_n|_o|_t][hex_index]' keys for existing
string filter values (id/name(value)/old_name(old value)/filter type)
and 'new_string_filter[_r|_n|_t][hex_index]' for new string filter
values. 'String filter values' here are parameters of the suppress-tag
action that are simple strings rather than parameters of, for example,
the client-header-tagger action that must be described in filters file.

2. String filter values are accessed by the value rather by the
index. Indexes must start from 0 and when there is no key with index+1
in parameters - we've done with existing or new string filters
processing.

Possible further improvements:

1. Extend suppress-tag action edit scheme to add-header action
   edit that is not supported now.
2. If needed, multiple suppress-tag addition can be added with
   some browser JS code.

Sponsored by: Robert Klemme
actionlist.h
actions.c
cgiedit.c
doc/source/user-manual.sgml
parsers.c
project.h
templates/edit-actions-for-url
templates/edit-actions-for-url-string-filter [new file with mode: 0644]