main.go change
This commit is contained in:
parent
470b98d69c
commit
e49701af15
18
main.go
18
main.go
@ -6,7 +6,9 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"crypto/sha256"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
@ -501,7 +503,6 @@ func joinChannel(c *Client, name string) {
|
|||||||
}
|
}
|
||||||
c.sendNames(ch)
|
c.sendNames(ch)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) partChannel(name string) {
|
func (c *Client) partChannel(name string) {
|
||||||
chMu.Lock()
|
chMu.Lock()
|
||||||
ch, ok := channels[name]
|
ch, ok := channels[name]
|
||||||
@ -517,7 +518,7 @@ func (c *Client) partChannel(name string) {
|
|||||||
fmt.Fprintf(member.conn, ":%s PART %s\r\n", c.nick, name)
|
fmt.Fprintf(member.conn, ":%s PART %s\r\n", c.nick, name)
|
||||||
}
|
}
|
||||||
ch.mu.Unlock()
|
ch.mu.Unlock()
|
||||||
//broadcastNames(ch)
|
broadcastNames(ch)
|
||||||
}
|
}
|
||||||
func addChannel(name string, description string) {
|
func addChannel(name string, description string) {
|
||||||
name = normalizeChannelName(name)
|
name = normalizeChannelName(name)
|
||||||
@ -684,7 +685,7 @@ func sendNotice(sender *Client, target string, text string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// utils
|
// utils
|
||||||
func (c *Client) fwrite(format string, args ...interface{}) {
|
func (c *Client) fwrite(format string, args ...any) {
|
||||||
fmt.Fprintf(c.conn, format, args...)
|
fmt.Fprintf(c.conn, format, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -701,19 +702,26 @@ func normalizeChannelName(name string) string {
|
|||||||
func checkCredentials(user, pass string) bool {
|
func checkCredentials(user, pass string) bool {
|
||||||
file, err := os.Open("accounts.txt")
|
file, err := os.Open("accounts.txt")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Printf("checkCredentials: open error: %v", err)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
|
|
||||||
|
passHash := sha256.Sum256([]byte(pass))
|
||||||
|
passHex := hex.EncodeToString(passHash[:])
|
||||||
|
|
||||||
scanner := bufio.NewScanner(file)
|
scanner := bufio.NewScanner(file)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
fields := strings.Fields(scanner.Text())
|
fields := strings.Fields(scanner.Text())
|
||||||
if len(fields) < 2 {
|
if len(fields) < 2 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if fields[0] == user && fields[1] == pass {
|
if fields[0] == user && fields[1] == passHex {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return scanner.Err() == nil && false
|
if err := scanner.Err(); err != nil {
|
||||||
|
log.Printf("checkCredentials: scanner error: %v", err)
|
||||||
|
}
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user