aboutsummaryrefslogtreecommitdiff
path: root/hotline/client_conn.go
diff options
context:
space:
mode:
authorJeff Halter <868228+jhalter@users.noreply.github.com>2022-05-28 11:35:50 -0700
committerJeff Halter <868228+jhalter@users.noreply.github.com>2022-05-28 11:35:50 -0700
commitaebc4d3647b9823ae8cbb57b21b1af83bfd011fb (patch)
tree6fa8871ec45654b68e6b018d6d06969d21b7278f /hotline/client_conn.go
parentdecc2fbf5db4a05aec93462ad35d890930bddd04 (diff)
Misc cleanup
* Removed some unnecessary user of pointers * Removed dead cruft * Reorganized code
Diffstat (limited to 'hotline/client_conn.go')
-rw-r--r--hotline/client_conn.go47
1 files changed, 2 insertions, 45 deletions
diff --git a/hotline/client_conn.go b/hotline/client_conn.go
index b43a6ff..ce9d7f1 100644
--- a/hotline/client_conn.go
+++ b/hotline/client_conn.go
@@ -1,9 +1,7 @@
package hotline
import (
- "bytes"
"encoding/binary"
- "errors"
"golang.org/x/crypto/bcrypt"
"math/big"
"net"
@@ -35,7 +33,7 @@ type ClientConn struct {
Server *Server
Version *[]byte
Idle bool
- AutoReply *[]byte
+ AutoReply []byte
Transfers map[int][]*FileTransfer
Agreed bool
}
@@ -54,7 +52,7 @@ func (cc *ClientConn) handleTransaction(transaction *Transaction) error {
// Validate that required field is present
if field.ID == nil {
- cc.Server.Logger.Infow(
+ cc.Server.Logger.Errorw(
"Missing required field",
"Account", cc.Account.Login, "UserName", string(cc.UserName), "RequestType", handler.Name, "FieldID", reqField.ID,
)
@@ -176,47 +174,6 @@ func (cc ClientConn) NotifyOthers(t Transaction) {
}
}
-type handshake struct {
- Protocol [4]byte // Must be 0x54525450 TRTP
- SubProtocol [4]byte
- Version [2]byte // Always 1
- SubVersion [2]byte
-}
-
-// Handshake
-// After establishing TCP connection, both client and server start the handshake process
-// in order to confirm that each of them comply with requirements of the other.
-// The information provided in this initial data exchange identifies protocols,
-// and their versions, used in the communication. In the case where, after inspection,
-// the capabilities of one of the subjects do not comply with the requirements of the other,
-// the connection is dropped.
-//
-// The following information is sent to the server:
-// Description Size Data Note
-// Protocol ID 4 TRTP 0x54525450
-// Sub-protocol ID 4 HOTL User defined
-// VERSION 2 1 Currently 1
-// Sub-version 2 2 User defined
-//
-// The server replies with the following:
-// Description Size Data Note
-// Protocol ID 4 TRTP
-//Error code 4 Error code returned by the server (0 = no error)
-func Handshake(conn net.Conn, buf []byte) error {
- var h handshake
- r := bytes.NewReader(buf)
- if err := binary.Read(r, binary.BigEndian, &h); err != nil {
- return err
- }
-
- if h.Protocol != [4]byte{0x54, 0x52, 0x54, 0x50} {
- return errors.New("invalid handshake")
- }
-
- _, err := conn.Write([]byte{84, 82, 84, 80, 0, 0, 0, 0})
- return err
-}
-
// NewReply returns a reply Transaction with fields for the ClientConn
func (cc *ClientConn) NewReply(t *Transaction, fields ...Field) Transaction {
reply := Transaction{