main.go change

This commit is contained in:
meera 2026-07-14 17:18:56 +03:00
parent 470b98d69c
commit e49701af15

18
main.go
View File

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