ipmi_sensor: allow @ symbol in password (#2633)

This commit is contained in:
Victor Yunevich 2017-04-07 00:40:34 +03:00 committed by Daniel Nelson
parent c9f8308f27
commit 92fa20cef2
3 changed files with 44 additions and 1 deletions

View File

@ -67,6 +67,7 @@ be deprecated eventually.
### Bugfixes ### Bugfixes
- [#2633](https://github.com/influxdata/telegraf/pull/2633): ipmi_sensor: allow @ symbol in password
- [#2077](https://github.com/influxdata/telegraf/issues/2077): SQL Server Input - Arithmetic overflow error converting numeric to data type int. - [#2077](https://github.com/influxdata/telegraf/issues/2077): SQL Server Input - Arithmetic overflow error converting numeric to data type int.
- [#2262](https://github.com/influxdata/telegraf/issues/2262): Flush jitter can inhibit metric collection. - [#2262](https://github.com/influxdata/telegraf/issues/2262): Flush jitter can inhibit metric collection.
- [#2318](https://github.com/influxdata/telegraf/issues/2318): haproxy input - Add missing fields. - [#2318](https://github.com/influxdata/telegraf/issues/2318): haproxy input - Add missing fields.

View File

@ -18,7 +18,7 @@ type Connection struct {
func NewConnection(server string) *Connection { func NewConnection(server string) *Connection {
conn := &Connection{} conn := &Connection{}
inx1 := strings.Index(server, "@") inx1 := strings.LastIndex(server, "@")
inx2 := strings.Index(server, "(") inx2 := strings.Index(server, "(")
inx3 := strings.Index(server, ")") inx3 := strings.Index(server, ")")

View File

@ -0,0 +1,42 @@
package ipmi_sensor
import (
"testing"
"github.com/stretchr/testify/assert"
)
type conTest struct {
Got string
Want *Connection
}
func TestNewConnection(t *testing.T) {
testData := []struct {
addr string
con *Connection
}{
{
"USERID:PASSW0RD@lan(192.168.1.1)",
&Connection{
Hostname: "192.168.1.1",
Username: "USERID",
Password: "PASSW0RD",
Interface: "lan",
},
},
{
"USERID:PASS:!@#$%^&*(234)_+W0RD@lan(192.168.1.1)",
&Connection{
Hostname: "192.168.1.1",
Username: "USERID",
Password: "PASS:!@#$%^&*(234)_+W0RD",
Interface: "lan",
},
},
}
for _, v := range testData {
assert.Equal(t, v.con, NewConnection(v.addr))
}
}