37 lines
859 B
Go
37 lines
859 B
Go
package session_dealer
|
|
|
|
import (
|
|
"github.com/zr-hebo/sniffer-agent/model"
|
|
"github.com/zr-hebo/sniffer-agent/session-dealer/mysql"
|
|
)
|
|
|
|
func NewSession(sessionKey, clientIP *string, clientPort int, serverIP *string, serverPort int,
|
|
receiver chan model.QueryPiece) (session ConnSession) {
|
|
switch serviceType {
|
|
case ServiceTypeMysql:
|
|
session = mysql.NewMysqlSession(sessionKey, clientIP, clientPort, serverIP, serverPort, receiver)
|
|
default:
|
|
session = mysql.NewMysqlSession(sessionKey, clientIP, clientPort, serverIP, serverPort, receiver)
|
|
}
|
|
return
|
|
}
|
|
|
|
func CheckParams() {
|
|
switch serviceType {
|
|
case ServiceTypeMysql:
|
|
mysql.CheckParams()
|
|
default:
|
|
mysql.CheckParams()
|
|
}
|
|
}
|
|
|
|
func IsAuthPacket(payload []byte) bool {
|
|
switch serviceType {
|
|
case ServiceTypeMysql:
|
|
return len(payload) >= 5 && mysql.IsAuth(payload[4])
|
|
|
|
default:
|
|
return false
|
|
}
|
|
}
|