@@ -187,7 +187,7 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
187
187
GatewaySession : yamuxSession ,
188
188
WorkConnIsOpen : true ,
189
189
WorkConn : make (chan net.Conn , 5 )}
190
- //:TODO 新的登录存储之前先清除旧的同id登录
190
+ //新的登录存储之前先清除旧的同id登录
191
191
sess .SetSession (token .RunId , gatewaySession )
192
192
}
193
193
@@ -198,7 +198,7 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
198
198
log .Println ("获取到一个Gateway主动发起的工作连接" )
199
199
log .Println ("GatewayWorkConn:" , m .RunId , "@" , m .Version )
200
200
//TODO 验证Secret
201
- token , _ = models .DecodeUnverifiedToken (config .ConfigMode .Security .LoginKey )
201
+ // token, err = models.DecodeToken (config.ConfigMode.Security.LoginKey, m.Secret )
202
202
//if err != nil {
203
203
// log.Println(err.Error())
204
204
// conn.Close()
@@ -223,8 +223,10 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
223
223
//created by github.com/OpenIoTHub/server-go/manager.SessionsManager.listenerHdl in goroutine 12
224
224
// /Users/iotserv/git/server-go/manager/listen.go:131 +0x1e5
225
225
session .WorkConnMutex .Lock ()
226
- if session .WorkConnIsOpen {
226
+ if session .WorkConnIsOpen && session . WorkConn != nil {
227
227
session .WorkConn <- conn
228
+ } else {
229
+ conn .Close ()
228
230
}
229
231
session .WorkConnMutex .Unlock ()
230
232
}
@@ -237,8 +239,8 @@ func (sess *SessionsManager) connHdl(conn net.Conn) {
237
239
conn .Close ()
238
240
return
239
241
}
240
- if ! token .IfContainPermission (models .PermissionOpenIoTHubLogin ) {
241
- log .Println ("token type err ,not 2 " )
242
+ if token == nil || ! token .IfContainPermission (models .PermissionOpenIoTHubLogin ) {
243
+ log .Println ("token type err ,not PermissionOpenIoTHubLogin " )
242
244
conn .Close ()
243
245
return
244
246
}
0 commit comments