diff --git a/go.mod b/go.mod index e66cda17d..69efcc3d8 100644 --- a/go.mod +++ b/go.mod @@ -196,7 +196,7 @@ require ( go.opentelemetry.io/collector/pdata v1.0.0-rcv0016 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0 go.opentelemetry.io/otel/sdk/metric v1.21.0 - go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd + go.starlark.net v0.0.0-20231121155337-90ade8b19d09 golang.org/x/crypto v0.17.0 golang.org/x/mod v0.14.0 golang.org/x/net v0.19.0 diff --git a/go.sum b/go.sum index 5d70b8267..bd52c248d 100644 --- a/go.sum +++ b/go.sum @@ -2319,8 +2319,8 @@ go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= -go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd h1:Uo/x0Ir5vQJ+683GXB9Ug+4fcjsbp7z7Ul8UaZbhsRM= -go.starlark.net v0.0.0-20220328144851-d1966c6b9fcd/go.mod h1:t3mmBBPzAVvK0L0n1drDmrQsJ8FoIx4INCqVMTr/Zo0= +go.starlark.net v0.0.0-20231121155337-90ade8b19d09 h1:hzy3LFnSN8kuQK8h9tHl4ndF6UruMj47OqwqsS+/Ai4= +go.starlark.net v0.0.0-20231121155337-90ade8b19d09/go.mod h1:LcLNIzVOMp4oV+uusnpk+VU+SzXaJakUuBjoCSWH5dM= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= diff --git a/plugins/common/starlark/starlark.go b/plugins/common/starlark/starlark.go index b73cd2f9e..8bfe98b58 100644 --- a/plugins/common/starlark/starlark.go +++ b/plugins/common/starlark/starlark.go @@ -8,8 +8,8 @@ import ( "go.starlark.net/lib/json" "go.starlark.net/lib/math" "go.starlark.net/lib/time" - "go.starlark.net/resolve" "go.starlark.net/starlark" + "go.starlark.net/syntax" "github.com/influxdata/telegraf" ) @@ -121,7 +121,17 @@ func (s *Common) sourceProgram(builtins starlark.StringDict) (*starlark.Program, if s.Source != "" { src = s.Source } - _, program, err := starlark.SourceProgram(s.Script, src, builtins.Has) + + // AllowFloat - obsolete, no effect + // AllowNestedDef - always on https://github.com/google/starlark-go/pull/328 + // AllowLambda - always on https://github.com/google/starlark-go/pull/328 + options := syntax.FileOptions{ + Recursion: true, + GlobalReassign: true, + Set: true, + } + + _, program, err := starlark.SourceProgramOptions(&options, s.Script, src, builtins.Has) return program, err } @@ -171,13 +181,3 @@ func LoadFunc(module string, logger telegraf.Logger) (starlark.StringDict, error return nil, errors.New("module " + module + " is not available") } } - -func init() { - // https://github.com/bazelbuild/starlark/issues/20 - resolve.AllowNestedDef = true - resolve.AllowLambda = true - resolve.AllowFloat = true - resolve.AllowSet = true - resolve.AllowGlobalReassign = true - resolve.AllowRecursion = true -}