From 4ae41a363d1c669bd2dd021ee61eea8eb795800a Mon Sep 17 00:00:00 2001 From: blotus Date: Thu, 11 May 2023 14:25:04 +0200 Subject: [PATCH] add Hostname helper in expr and templating (#2193) --- pkg/csplugin/helpers.go | 2 ++ pkg/exprhelpers/expr_lib.go | 7 +++++++ pkg/exprhelpers/helpers.go | 8 ++++++++ 3 files changed, 17 insertions(+) diff --git a/pkg/csplugin/helpers.go b/pkg/csplugin/helpers.go index 857e9a53b..297742e8d 100644 --- a/pkg/csplugin/helpers.go +++ b/pkg/csplugin/helpers.go @@ -1,6 +1,7 @@ package csplugin import ( + "os" "text/template" "github.com/crowdsecurity/crowdsec/pkg/exprhelpers" @@ -20,6 +21,7 @@ var helpers = template.FuncMap{ return metaValues }, "CrowdsecCTI": exprhelpers.CrowdsecCTI, + "Hostname": os.Hostname, } func funcMap() template.FuncMap { diff --git a/pkg/exprhelpers/expr_lib.go b/pkg/exprhelpers/expr_lib.go index 6a7f8ee74..0a8346d14 100644 --- a/pkg/exprhelpers/expr_lib.go +++ b/pkg/exprhelpers/expr_lib.go @@ -398,6 +398,13 @@ var exprFuncs = []exprCustomFunc{ new(func(string) string), }, }, + { + name: "Hostname", + function: Hostname, + signature: []interface{}{ + new(func() (string, error)), + }, + }, } //go 1.20 "CutPrefix": strings.CutPrefix, diff --git a/pkg/exprhelpers/helpers.go b/pkg/exprhelpers/helpers.go index d0b343822..1e722f074 100644 --- a/pkg/exprhelpers/helpers.go +++ b/pkg/exprhelpers/helpers.go @@ -595,3 +595,11 @@ func B64Decode(params ...any) (any, error) { } return string(decoded), nil } + +func Hostname(params ...any) (any, error) { + hostname, err := os.Hostname() + if err != nil { + return "", err + } + return hostname, nil +}