Browse Source

frps: fix a panic bug caused by reading map

remotes/origin/dev
fatedier 8 years ago
parent
commit
52fe721202
  1. 4
      src/cmd/frps/control.go
  2. 7
      src/models/server/config.go

4
src/cmd/frps/control.go

@ -94,7 +94,7 @@ func controlWorker(c *conn.Conn) {
return
}
s, ok := server.ProxyServers[cliReq.ProxyName]
s, ok := server.GetProxyServer(cliReq.ProxyName)
if !ok {
log.Warn("ProxyName [%s] does not exist now", cliReq.ProxyName)
return
@ -212,7 +212,7 @@ func doLogin(req *msg.ControlReq, c *conn.Conn) (ret int64, info string) {
s *server.ProxyServer
ok bool
)
s, ok = server.ProxyServers[req.ProxyName]
s, ok = server.GetProxyServer(req.ProxyName)
if req.PrivilegeMode && req.Type == consts.NewCtlConn {
log.Debug("ProxyName [%s], doLogin and privilege mode is enabled", req.ProxyName)
} else {

7
src/models/server/config.go

@ -392,3 +392,10 @@ func DeleteProxy(proxyName string) {
defer ProxyServersMutex.Unlock()
delete(ProxyServers, proxyName)
}
func GetProxyServer(proxyName string) (p *ProxyServer, ok bool) {
ProxyServersMutex.RLock()
defer ProxyServersMutex.RUnlock()
p, ok = ProxyServers[proxyName]
return
}

Loading…
Cancel
Save