From 8483f605037317e9ac266f893d8ef80ff3a6a56e Mon Sep 17 00:00:00 2001 From: Valery Piashchynski Date: Wed, 16 Jun 2021 14:04:11 +0300 Subject: - Add origin check for the websockets Signed-off-by: Valery Piashchynski --- plugins/websockets/origin.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 plugins/websockets/origin.go (limited to 'plugins/websockets/origin.go') diff --git a/plugins/websockets/origin.go b/plugins/websockets/origin.go new file mode 100644 index 00000000..c6d9c9b8 --- /dev/null +++ b/plugins/websockets/origin.go @@ -0,0 +1,28 @@ +package websockets + +import ( + "strings" +) + +func isOriginAllowed(origin string, cfg *Config) bool { + if cfg.allowedAll { + return true + } + + origin = strings.ToLower(origin) + // simple case + origin = strings.ToLower(origin) + for _, o := range cfg.allowedOrigins { + if o == origin { + return true + } + } + // check wildcards + for _, w := range cfg.allowedWOrigins { + if w.match(origin) { + return true + } + } + + return false +} -- cgit v1.2.3