remove server's operatorMap, stub out code for requesting to op ourselves

--HG--
branch : nmdc-ircfrontend
This commit is contained in:
. 2016-05-02 19:16:25 +12:00
parent cb3ba59cf7
commit 37d61b3193
2 changed files with 19 additions and 24 deletions

View File

@ -6,8 +6,6 @@ import (
"net"
"regexp"
"strings"
"golang.org/x/crypto/bcrypt"
)
var (
@ -17,11 +15,10 @@ var (
func NewServer() *Server {
return &Server{eventChan: make(chan Event),
name: "",
clientMap: make(map[string]*Client),
channelMap: make(map[string]*Channel),
operatorMap: make(map[string][]byte),
motd: "",
name: "",
clientMap: make(map[string]*Client),
channelMap: make(map[string]*Channel),
motd: "",
}
}
@ -240,18 +237,17 @@ func (s *Server) handleCommand(client *Client, command string, args []string) {
return
}
username := args[0]
password := args[1]
//username := args[0]
//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":
if client.registered == false {

View File

@ -9,13 +9,12 @@ const (
)
type Server struct {
eventChan chan Event
running bool
name string
clientMap map[string]*Client //Map of nicks → clients
channelMap map[string]*Channel //Map of channel names → channels
operatorMap map[string][]byte //Map of usernames → bcrypt hashed passwords
motd string
eventChan chan Event
running bool
name string
clientMap map[string]*Client //Map of nicks → clients
channelMap map[string]*Channel //Map of channel names → channels
motd string
}
type Client struct {