From e4e22fb58ef13c4101210ab9cb17e9dbf02d4d81 Mon Sep 17 00:00:00 2001 From: Mcat12 Date: Tue, 31 Jul 2018 22:16:40 -0400 Subject: [PATCH] Fix permissive regex The `\.?` is too permissive, letting in anything that ends in the domain Signed-off-by: Mcat12 --- advanced/Scripts/list.sh | 4 ++-- advanced/Scripts/wildcard_regex_converter.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/advanced/Scripts/list.sh b/advanced/Scripts/list.sh index 4c0c0b8e..87e4ab44 100755 --- a/advanced/Scripts/list.sh +++ b/advanced/Scripts/list.sh @@ -141,7 +141,7 @@ AddDomain() { bool=true domain="${1}" - [[ "${wildcard}" == true ]] && domain="\\.?${domain//\./\\.}$" + [[ "${wildcard}" == true ]] && domain="(^|\\.)${domain//\./\\.}$" # Is the domain in the list? # Search only for exactly matching lines @@ -189,7 +189,7 @@ RemoveDomain() { [[ -z "${type}" ]] && type="--wildcard-only" domain="${1}" - [[ "${wildcard}" == true ]] && domain="\\.?${domain//\./\\.}$" + [[ "${wildcard}" == true ]] && domain="(^|\\.)${domain//\./\\.}$" bool=true # Is it in the list? diff --git a/advanced/Scripts/wildcard_regex_converter.sh b/advanced/Scripts/wildcard_regex_converter.sh index 43d4a532..8c9578a3 100644 --- a/advanced/Scripts/wildcard_regex_converter.sh +++ b/advanced/Scripts/wildcard_regex_converter.sh @@ -24,5 +24,5 @@ convert_wildcard_to_regex() { # Remove repeated domains (may have been inserted two times due to A and AAAA blocking) uniquedomains="$(uniq <<< "${domains}")" # Automatically generate regex filters and remove old wildcards file - awk '{print "\\.?"$0"$"}' <<< "${uniquedomains}" >> "${regexFile:?}" && rm "${wildcardFile}" + awk '{print "(^|\\.)"$0"$"}' <<< "${uniquedomains}" >> "${regexFile:?}" && rm "${wildcardFile}" }