Skip to content

allowOldPasswords broken #518

Closed
Closed
@florck

Description

@florck

Issue description

When I activate the allowOldPasswords=1, I get a panic.

Example code

data := []myData{}
	connString := config.Config.Database.DbUser+":"+config.Config.Database.DbPassword+"@tcp("+config.Config.Database.DbAdresse+")/db?allowOldPasswords=1"
    logp.Info("I will connect to:")
	logp.Info(connString)
	db,errcon := sqlx.Connect("mysql", connString)
    logp.Info("MySQL connection opened.")
	if errcon != nil {
		logp.Info("probleme sql.Open")
        logp.Info(errcon.Error())
		log.Fatal(errcon)
	}
	defer db.Close()

As per you know, it fails before saying "MySQL connection opened."

Error log

panic: runtime error: slice bounds out of range

goroutine 1 [running]:
panic(0x8e2440, 0xc420012180)
        /usr/lib/go/src/runtime/panic.go:500 +0x1a1
github.com/go-sql-driver/mysql.scrambleOldPassword(0x0, 0x0, 0x0, 0xc420199340, 0x8, 0x20, 0xc4201993d8, 0x54539b, 0x401dbe)
        /home/tutu/go/src/github.com/go-sql-driver/mysql/utils.go:176 +0x2bd
github.com/go-sql-driver/mysql.(*mysqlConn).writeOldAuthPacket(0xc420108360, 0x0, 0x0, 0x0, 0xbd8101, 0xc4200e2fb0)
        /home/tutu/go/src/github.com/go-sql-driver/mysql/packets.go:344 +0xa4
github.com/go-sql-driver/mysql.handleAuthResult(0xc420108360, 0xc4201b8720, 0x14)
        /home/tutu/go/src/github.com/go-sql-driver/mysql/driver.go:153 +0x2bf
github.com/go-sql-driver/mysql.MySQLDriver.Open(0xc4200ded70, 0x43, 0x0, 0x28, 0x28, 0x9bd283)
        /home/tutu/go/src/github.com/go-sql-driver/mysql/driver.go:104 +0x44e
github.com/go-sql-driver/mysql.(*MySQLDriver).Open(0xc234a8, 0xc4200ded70, 0x43, 0xc420199698, 0x41002e, 0xc4201c86c0, 0x30)
        <autogenerated>:6 +0x60
database/sql.(*DB).conn(0xc420147b80, 0x1, 0xc420147b80, 0xc4201c86c0, 0xc4201c8690)
        /usr/lib/go/src/database/sql/sql.go:824 +0x24e
database/sql.(*DB).Ping(0xc420147b80, 0x5, 0xc4200ded70)
        /usr/lib/go/src/database/sql/sql.go:503 +0x34
github.com/jmoiron/sqlx.Connect(0x9766fb, 0x5, 0xc4200ded70, 0x43, 0x0, 0x43, 0x1c)
        /home/tutu/go/src/github.com/jmoiron/sqlx/sqlx.go:603 +0x72
_/home/tutu/Documents/Travail/TW/ElasticStack/tatabeat/tatabeat/beater.(*tatabeat).getData(0xc4200e9b40, 0xc4201182c0, 0xc4201b8580, 0x17, 0xc420185ae8, 0x6, 0xc420185af0, 0xe, 0xc420185b60, 0x10, ...)
        /home/tutu/Documents/Travail/TW/ElasticStack/tatabeat/tatabeat/beater/tatabeat.go:229 +0x22a
_/home/tutu/Documents/Travail/TW/ElasticStack/tatabeat/tatabeat/beater.(*tatabeat).Run(0xc4200e9b40, 0xc4201182c0, 0xc420118368, 0xb)
        /home/tutu/Documents/Travail/TW/ElasticStack/tatabeat/tatabeat/beater/tatabeat.go:159 +0x31e
github.com/elastic/beats/libbeat/beat.(*Beat).launch(0xc4201182c0, 0x9bf2f0, 0x0, 0x0)
        /home/tutu/go/src/github.com/elastic/beats/libbeat/beat/beat.go:211 +0x699
github.com/elastic/beats/libbeat/beat.Run(0x97a445, 0x9, 0x0, 0x0, 0x9bf2f0, 0x55326e, 0xc4200001a0)
        /home/tutu/go/src/github.com/elastic/beats/libbeat/beat/beat.go:136 +0x65
main.main()

Configuration

Driver version (or git SHA):
commit 665b834

Go version: run go version in your console
go version go1.7.3 linux/amd64

Server version: E.g. MySQL 5.6, MariaDB 10.0.20
mysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using readline 5.1

Server OS: E.g. Debian 8.1 (Jessie), Windows 10
CentOS release 5.9 (Final)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions