aboutsummaryrefslogtreecommitdiff
path: root/hotline
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2022-07-03 15:36:17 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2022-07-03 15:36:17 -0700
commit69af8ddbdff8e6d0dd551e9bdc72284469a86fc0 (patch)
treebd21da2c1c5f7f4573f417b1cd69ff5dfedf2dee /hotline
parent854a92fc2755ace61c405df335ddf69b02a3d932 (diff)
Minor cleanup
Diffstat (limited to 'hotline')
-rw-r--r--hotline/account.go11
-rw-r--r--hotline/server.go1
-rw-r--r--hotline/transaction_handlers.go2
-rw-r--r--hotline/user.go17
4 files changed, 12 insertions, 19 deletions
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)
-}