remove server's operatorMap, stub out code for requesting to op ourselves
--HG-- branch : nmdc-ircfrontend
This commit is contained in:
parent
cb3ba59cf7
commit
37d61b3193
30
server.go
30
server.go
@ -6,8 +6,6 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"golang.org/x/crypto/bcrypt"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -17,11 +15,10 @@ var (
|
|||||||
|
|
||||||
func NewServer() *Server {
|
func NewServer() *Server {
|
||||||
return &Server{eventChan: make(chan Event),
|
return &Server{eventChan: make(chan Event),
|
||||||
name: "",
|
name: "",
|
||||||
clientMap: make(map[string]*Client),
|
clientMap: make(map[string]*Client),
|
||||||
channelMap: make(map[string]*Channel),
|
channelMap: make(map[string]*Channel),
|
||||||
operatorMap: make(map[string][]byte),
|
motd: "",
|
||||||
motd: "",
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,18 +237,17 @@ func (s *Server) handleCommand(client *Client, command string, args []string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
username := args[0]
|
//username := args[0]
|
||||||
password := args[1]
|
//password := args[1]
|
||||||
|
|
||||||
|
if false { // op the user
|
||||||
|
client.operator = true
|
||||||
|
client.reply(rplOper)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
client.reply(errPassword)
|
||||||
|
|
||||||
if hashedPassword, exists := s.operatorMap[username]; exists {
|
|
||||||
//nil means the passwords matched
|
|
||||||
if err := bcrypt.CompareHashAndPassword(hashedPassword, []byte(password)); err == nil {
|
|
||||||
client.operator = true
|
|
||||||
client.reply(rplOper)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
client.reply(errPassword)
|
|
||||||
|
|
||||||
case "KILL":
|
case "KILL":
|
||||||
if client.registered == false {
|
if client.registered == false {
|
||||||
|
13
typedefs.go
13
typedefs.go
@ -9,13 +9,12 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
eventChan chan Event
|
eventChan chan Event
|
||||||
running bool
|
running bool
|
||||||
name string
|
name string
|
||||||
clientMap map[string]*Client //Map of nicks → clients
|
clientMap map[string]*Client //Map of nicks → clients
|
||||||
channelMap map[string]*Channel //Map of channel names → channels
|
channelMap map[string]*Channel //Map of channel names → channels
|
||||||
operatorMap map[string][]byte //Map of usernames → bcrypt hashed passwords
|
motd string
|
||||||
motd string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type Client struct {
|
type Client struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user