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" "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 {

View File

@ -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 {