Fix admin mode

pull/71/head
Qian Wang 5 years ago
parent 0e08683828
commit 1099b558f1

@ -90,11 +90,13 @@ func makeRemoteConn(sta *client.State) (net.Conn, error) {
func makeSession(sta *client.State) *mux.Session {
log.Println("Attemtping to start a new session")
// sessionID is usergenerated. There shouldn't be a security concern because the scope of
// sessionID is limited to its UID.
quad := make([]byte, 4)
rand.Read(quad)
sta.SessionID = binary.BigEndian.Uint32(quad)
if !sta.IsAdmin {
// sessionID is usergenerated. There shouldn't be a security concern because the scope of
// sessionID is limited to its UID.
quad := make([]byte, 4)
rand.Read(quad)
sta.SessionID = binary.BigEndian.Uint32(quad)
}
sta.UpdateIntervalKeys()
@ -208,6 +210,7 @@ func main() {
}
if adminUID != nil {
sta.IsAdmin = true
sta.SessionID = 0
sta.UID = adminUID
sta.NumConn = 1

@ -46,6 +46,7 @@ type State struct {
SessionID uint32
UID []byte
staticPub crypto.PublicKey
IsAdmin bool
intervalDataM sync.Mutex
intervalData *tthIntervalKeys

Loading…
Cancel
Save