From e49701af156e5a15914f9541294e2c47ea524c25 Mon Sep 17 00:00:00 2001 From: meera Date: Tue, 14 Jul 2026 17:18:56 +0300 Subject: [PATCH] main.go change --- main.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index a6386bf..56a7bb8 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,9 @@ package main import ( "bufio" + "crypto/sha256" "encoding/base64" + "encoding/hex" "encoding/json" "fmt" "log" @@ -501,7 +503,6 @@ func joinChannel(c *Client, name string) { } c.sendNames(ch) } - func (c *Client) partChannel(name string) { chMu.Lock() 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) } ch.mu.Unlock() - //broadcastNames(ch) + broadcastNames(ch) } func addChannel(name string, description string) { name = normalizeChannelName(name) @@ -684,7 +685,7 @@ func sendNotice(sender *Client, target string, text string) { } // utils -func (c *Client) fwrite(format string, args ...interface{}) { +func (c *Client) fwrite(format string, args ...any) { fmt.Fprintf(c.conn, format, args...) } @@ -701,19 +702,26 @@ func normalizeChannelName(name string) string { func checkCredentials(user, pass string) bool { file, err := os.Open("accounts.txt") if err != nil { + log.Printf("checkCredentials: open error: %v", err) return false } defer file.Close() + passHash := sha256.Sum256([]byte(pass)) + passHex := hex.EncodeToString(passHash[:]) + scanner := bufio.NewScanner(file) for scanner.Scan() { fields := strings.Fields(scanner.Text()) if len(fields) < 2 { continue } - if fields[0] == user && fields[1] == pass { + if fields[0] == user && fields[1] == passHex { return true } } - return scanner.Err() == nil && false + if err := scanner.Err(); err != nil { + log.Printf("checkCredentials: scanner error: %v", err) + } + return false }