From 03d6abb69af0d8954962009b394481a020e64396 Mon Sep 17 00:00:00 2001 From: uan Date: Fri, 8 Aug 2025 13:49:50 +0200 Subject: [PATCH] userAgent filter now checks for substrings instead of perfect match --- miniws/webserver.go | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/miniws/webserver.go b/miniws/webserver.go index 3f3de2d..3b97d71 100644 --- a/miniws/webserver.go +++ b/miniws/webserver.go @@ -123,18 +123,28 @@ func (ws *WebServer) isIpValid(ip string) bool { case FILTER_MODE_BLACKLIST: return !slices.Contains(ws.ipFilter, ip) default: - return false + return false //if something went wrong with conf parsing } } func (ws *WebServer) isUserAgentValid(userAgent string) bool { switch ws.userAgentFilterMode { case FILTER_MODE_WHITELIST: - return slices.Contains(ws.userAgentFilter, userAgent) - case FILTER_MODE_BLACKLIST: - return !slices.Contains(ws.userAgentFilter, userAgent) - default: + for _, userAgentString := range ws.userAgentFilter { + if strings.Contains(userAgentString, userAgent) { + return true + } + } return false + case FILTER_MODE_BLACKLIST: + for _, userAgentString := range ws.userAgentFilter { + if strings.Contains(userAgentString, userAgent) { + return false + } + } + return true + default: + return false //if something went wrong with conf parsing } }