From c01e6ae2ff7dfdf876b78dbcfff9845717eb6de3 Mon Sep 17 00:00:00 2001 From: greg linton Date: Wed, 30 Oct 2019 17:05:08 -0600 Subject: [PATCH] Ensure user is stripped out of logs in influx input The returned error may contain sensitive information if older versions of go are used to build. (1.12+ are ok) --- plugins/inputs/influxdb/influxdb.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/plugins/inputs/influxdb/influxdb.go b/plugins/inputs/influxdb/influxdb.go index 0bb3ead5..d7279b55 100644 --- a/plugins/inputs/influxdb/influxdb.go +++ b/plugins/inputs/influxdb/influxdb.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "net/http" + "net/url" "sync" "time" @@ -72,10 +73,16 @@ func (i *InfluxDB) Gather(acc telegraf.Accumulator) error { var wg sync.WaitGroup for _, u := range i.URLs { wg.Add(1) - go func(url string) { + go func(u string) { defer wg.Done() - if err := i.gatherURL(acc, url); err != nil { - acc.AddError(fmt.Errorf("[url=%s]: %s", url, err)) + if err := i.gatherURL(acc, u); err != nil { + yourl, err2 := url.Parse(u) + if err2 != nil || yourl == nil { + acc.AddError(err) + } else { + yourl.User = nil + acc.AddError(fmt.Errorf("[url=%s]: %s", yourl.String(), err.Error())) + } } }(u) }