diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-06-20 20:14:32 -0700 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2022-06-20 20:14:32 -0700 |
| commit | 7cd900d61edbd6d322db3cecb913adf574389320 (patch) | |
| tree | 7da8ac3658fa4b6204330f1f9c980428b6a6fdc5 /hotline/handshake.go | |
| parent | bb1e98842e35b3affaf94971e78c86f8b9547928 (diff) | |
Add initial support for resource and info forks
Diffstat (limited to 'hotline/handshake.go')
| -rw-r--r-- | hotline/handshake.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/hotline/handshake.go b/hotline/handshake.go index 39d9cab..9ccdc62 100644 --- a/hotline/handshake.go +++ b/hotline/handshake.go @@ -14,6 +14,8 @@ type handshake struct { SubVersion [2]byte } +var trtp = [4]byte{0x54, 0x52, 0x54, 0x50} + // 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. @@ -33,9 +35,9 @@ type handshake struct { // Description Size Data Note // Protocol ID 4 TRTP // Error code 4 Error code returned by the server (0 = no error) -func Handshake(conn io.ReadWriter) error { +func Handshake(rw io.ReadWriter) error { handshakeBuf := make([]byte, 12) - if _, err := io.ReadFull(conn, handshakeBuf); err != nil { + if _, err := io.ReadFull(rw, handshakeBuf); err != nil { return err } @@ -45,10 +47,10 @@ func Handshake(conn io.ReadWriter) error { return err } - if h.Protocol != [4]byte{0x54, 0x52, 0x54, 0x50} { + if h.Protocol != trtp { return errors.New("invalid handshake") } - _, err := conn.Write([]byte{84, 82, 84, 80, 0, 0, 0, 0}) + _, err := rw.Write([]byte{84, 82, 84, 80, 0, 0, 0, 0}) return err } |