|
|
@@ -85,11 +85,11 @@ func TestAuthFastCachingSHA256PasswordCached(t *testing.T) {
|
|
|
plugin := "caching_sha2_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -130,11 +130,11 @@ func TestAuthFastCachingSHA256PasswordEmpty(t *testing.T) {
|
|
|
plugin := "caching_sha2_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -172,11 +172,11 @@ func TestAuthFastCachingSHA256PasswordFullRSA(t *testing.T) {
|
|
|
plugin := "caching_sha2_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -228,11 +228,11 @@ func TestAuthFastCachingSHA256PasswordFullRSAWithKey(t *testing.T) {
|
|
|
plugin := "caching_sha2_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -280,11 +280,11 @@ func TestAuthFastCachingSHA256PasswordFullSecure(t *testing.T) {
|
|
|
plugin := "caching_sha2_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -336,7 +336,7 @@ func TestAuthFastCleartextPasswordNotAllowed(t *testing.T) {
|
|
|
plugin := "mysql_clear_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- _, _, err := mc.auth(authData, plugin)
|
|
|
+ _, err := mc.auth(authData, plugin)
|
|
|
if err != ErrCleartextPassword {
|
|
|
t.Errorf("expected ErrCleartextPassword, got %v", err)
|
|
|
}
|
|
|
@@ -353,11 +353,11 @@ func TestAuthFastCleartextPassword(t *testing.T) {
|
|
|
plugin := "mysql_clear_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -367,8 +367,8 @@ func TestAuthFastCleartextPassword(t *testing.T) {
|
|
|
authRespEnd := authRespStart + 1 + len(authResp)
|
|
|
writtenAuthRespLen := conn.written[authRespStart]
|
|
|
writtenAuthResp := conn.written[authRespStart+1 : authRespEnd]
|
|
|
- expectedAuthResp := []byte{115, 101, 99, 114, 101, 116}
|
|
|
- if writtenAuthRespLen != 6 || !bytes.Equal(writtenAuthResp, expectedAuthResp) {
|
|
|
+ expectedAuthResp := []byte{115, 101, 99, 114, 101, 116, 0}
|
|
|
+ if writtenAuthRespLen != 7 || !bytes.Equal(writtenAuthResp, expectedAuthResp) {
|
|
|
t.Fatalf("unexpected written auth response (%d bytes): %v", writtenAuthRespLen, writtenAuthResp)
|
|
|
}
|
|
|
conn.written = nil
|
|
|
@@ -396,11 +396,11 @@ func TestAuthFastCleartextPasswordEmpty(t *testing.T) {
|
|
|
plugin := "mysql_clear_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -410,9 +410,9 @@ func TestAuthFastCleartextPasswordEmpty(t *testing.T) {
|
|
|
authRespEnd := authRespStart + 1 + len(authResp)
|
|
|
writtenAuthRespLen := conn.written[authRespStart]
|
|
|
writtenAuthResp := conn.written[authRespStart+1 : authRespEnd]
|
|
|
- if writtenAuthRespLen != 0 {
|
|
|
- t.Fatalf("unexpected written auth response (%d bytes): %v",
|
|
|
- writtenAuthRespLen, writtenAuthResp)
|
|
|
+ expectedAuthResp := []byte{0}
|
|
|
+ if writtenAuthRespLen != 1 || !bytes.Equal(writtenAuthResp, expectedAuthResp) {
|
|
|
+ t.Fatalf("unexpected written auth response (%d bytes): %v", writtenAuthRespLen, writtenAuthResp)
|
|
|
}
|
|
|
conn.written = nil
|
|
|
|
|
|
@@ -439,7 +439,7 @@ func TestAuthFastNativePasswordNotAllowed(t *testing.T) {
|
|
|
plugin := "mysql_native_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- _, _, err := mc.auth(authData, plugin)
|
|
|
+ _, err := mc.auth(authData, plugin)
|
|
|
if err != ErrNativePassword {
|
|
|
t.Errorf("expected ErrNativePassword, got %v", err)
|
|
|
}
|
|
|
@@ -455,11 +455,11 @@ func TestAuthFastNativePassword(t *testing.T) {
|
|
|
plugin := "mysql_native_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -498,11 +498,11 @@ func TestAuthFastNativePasswordEmpty(t *testing.T) {
|
|
|
plugin := "mysql_native_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -540,11 +540,11 @@ func TestAuthFastSHA256PasswordEmpty(t *testing.T) {
|
|
|
plugin := "sha256_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -554,7 +554,8 @@ func TestAuthFastSHA256PasswordEmpty(t *testing.T) {
|
|
|
authRespEnd := authRespStart + 1 + len(authResp)
|
|
|
writtenAuthRespLen := conn.written[authRespStart]
|
|
|
writtenAuthResp := conn.written[authRespStart+1 : authRespEnd]
|
|
|
- if writtenAuthRespLen != 0 {
|
|
|
+ expectedAuthResp := []byte{0}
|
|
|
+ if writtenAuthRespLen != 1 || !bytes.Equal(writtenAuthResp, expectedAuthResp) {
|
|
|
t.Fatalf("unexpected written auth response (%d bytes): %v", writtenAuthRespLen, writtenAuthResp)
|
|
|
}
|
|
|
conn.written = nil
|
|
|
@@ -587,11 +588,11 @@ func TestAuthFastSHA256PasswordRSA(t *testing.T) {
|
|
|
plugin := "sha256_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -636,11 +637,11 @@ func TestAuthFastSHA256PasswordRSAWithKey(t *testing.T) {
|
|
|
plugin := "sha256_password"
|
|
|
|
|
|
// Send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -669,7 +670,7 @@ func TestAuthFastSHA256PasswordSecure(t *testing.T) {
|
|
|
plugin := "sha256_password"
|
|
|
|
|
|
// send Client Authentication Packet
|
|
|
- authResp, addNUL, err := mc.auth(authData, plugin)
|
|
|
+ authResp, err := mc.auth(authData, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
@@ -677,18 +678,18 @@ func TestAuthFastSHA256PasswordSecure(t *testing.T) {
|
|
|
// unset TLS config to prevent the actual establishment of a TLS wrapper
|
|
|
mc.cfg.tls = nil
|
|
|
|
|
|
- err = mc.writeHandshakeResponsePacket(authResp, addNUL, plugin)
|
|
|
+ err = mc.writeHandshakeResponsePacket(authResp, plugin)
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
|
|
|
// check written auth response
|
|
|
authRespStart := 4 + 4 + 4 + 1 + 23 + len(mc.cfg.User) + 1
|
|
|
- authRespEnd := authRespStart + 1 + len(authResp) + 1
|
|
|
+ authRespEnd := authRespStart + 1 + len(authResp)
|
|
|
writtenAuthRespLen := conn.written[authRespStart]
|
|
|
writtenAuthResp := conn.written[authRespStart+1 : authRespEnd]
|
|
|
expectedAuthResp := []byte{115, 101, 99, 114, 101, 116, 0}
|
|
|
- if writtenAuthRespLen != 6 || !bytes.Equal(writtenAuthResp, expectedAuthResp) {
|
|
|
+ if writtenAuthRespLen != 7 || !bytes.Equal(writtenAuthResp, expectedAuthResp) {
|
|
|
t.Fatalf("unexpected written auth response (%d bytes): %v", writtenAuthRespLen, writtenAuthResp)
|
|
|
}
|
|
|
conn.written = nil
|