|
@@ -508,7 +508,7 @@ func (h *Hub) ConnectToServer(channel string, force bool) (err error) {
|
|
|
return err
|
|
|
}
|
|
|
// 接收频道信息
|
|
|
- proto, version, channel2, _, err := conn.ReadAuthInfo()
|
|
|
+ proto, version, channel2, auth, err := conn.ReadAuthInfo()
|
|
|
if err != nil {
|
|
|
log.Println("[ConnectToServer ReadAuthInfo ERROR]", err)
|
|
|
conn.Close()
|
|
@@ -534,6 +534,15 @@ func (h *Hub) ConnectToServer(channel string, force bool) (err error) {
|
|
|
host.Updated = time.Now()
|
|
|
return err
|
|
|
}
|
|
|
+ // 检查验证是否合法
|
|
|
+ if !h.checkAuthFunc(proto, version, channel, auth) {
|
|
|
+ err = fmt.Errorf("[checkAuthFunc ERROR] in proto: %s, version: %d, channel: %s, auth: %s", proto, version, channel, string(auth))
|
|
|
+ log.Println(err)
|
|
|
+ conn.Close()
|
|
|
+ host.Errors++
|
|
|
+ host.Updated = time.Now()
|
|
|
+ return err
|
|
|
+ }
|
|
|
// 更新服务主机信息
|
|
|
host.Errors = 0
|
|
|
host.Updated = time.Now()
|