From: Jeff Halter Date: Sun, 3 Jul 2022 22:36:17 +0000 (-0700) Subject: Minor cleanup X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/commitdiff_plain/69af8ddbdff8e6d0dd551e9bdc72284469a86fc0?hp=--cc Minor cleanup --- 69af8ddbdff8e6d0dd551e9bdc72284469a86fc0 diff --git a/hotline/account.go b/hotline/account.go index a680861..9a0fb7d 100644 --- a/hotline/account.go +++ b/hotline/account.go @@ -3,6 +3,7 @@ package hotline import ( "encoding/binary" "golang.org/x/crypto/bcrypt" + "log" ) const GuestAccount = "guest" // default account used when no login is provided for a connection @@ -37,3 +38,13 @@ func (a *Account) Read(p []byte) (n int, err error) { return len(p), nil } + +// hashAndSalt generates a password hash from a users obfuscated plaintext password +func hashAndSalt(pwd []byte) string { + hash, err := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost) + if err != nil { + log.Println(err) + } + + return string(hash) +} diff --git a/hotline/server.go b/hotline/server.go index 5b8aad0..852b772 100644 --- a/hotline/server.go +++ b/hotline/server.go @@ -766,7 +766,6 @@ func (s *Server) handleFileTransfer(ctx context.Context, rwc io.ReadWriter) erro switch fileTransfer.Type { case bannerDownload: if err := s.bannerDownload(rwc); err != nil { - panic(err) return err } case FileDownload: diff --git a/hotline/transaction_handlers.go b/hotline/transaction_handlers.go index 3ecb6bd..afc24ff 100644 --- a/hotline/transaction_handlers.go +++ b/hotline/transaction_handlers.go @@ -462,7 +462,7 @@ func HandleSetFileInfo(cc *ClientConn, t *Transaction) (res []Transaction, err e return res, err } if err != nil { - panic(err) + return res, err } } } diff --git a/hotline/user.go b/hotline/user.go index ff4006a..f6e4592 100644 --- a/hotline/user.go +++ b/hotline/user.go @@ -2,8 +2,6 @@ package hotline import ( "encoding/binary" - "golang.org/x/crypto/bcrypt" - "log" ) // User flags are stored as a 2 byte bitmap with the following values: @@ -77,18 +75,3 @@ func negateString(clearText []byte) []byte { } return obfuText } - -func hashAndSalt(pwd []byte) string { - // Use GenerateFromPassword to hash & salt pwd. - // MinCost is just an integer constant provided by the bcrypt - // package along with DefaultCost & MaxCost. - // The cost can be any value you want provided it isn't lower - // than the MinCost (4) - hash, err := bcrypt.GenerateFromPassword(pwd, bcrypt.MinCost) - if err != nil { - log.Println(err) - } - // GenerateFromPassword returns a byte slice so we need to - // convert the bytes to a string and return it - return string(hash) -}