Check protocol version and auth token (hard coded for now)

This commit is contained in:
Justin Hawkins 2022-01-15 23:35:58 +10:30
parent f98609d48d
commit e36d5573ff
3 changed files with 19 additions and 6 deletions

View File

@ -48,8 +48,8 @@ func (c *Client) Connect() error {
msg := secure.PacketStart{
OperationType: secure.OperationTypeList,
ClientName: "Justin Hawkins",
ProtocolVersion: "v1.0",
AuthToken: "abc123",
ProtocolVersion: "1.0",
AuthToken: "dummy",
}
err := enc.Encode(msg)
if err != nil {
@ -76,8 +76,8 @@ func (c *Client) Connect() error {
msg := secure.PacketStart{
OperationType: secure.OperationTypeReceive,
ClientName: "Justin Hawkins",
ProtocolVersion: "v1.0",
AuthToken: "abc123",
ProtocolVersion: "1.0",
AuthToken: "dummy",
}
err := enc.Encode(msg)
if err != nil {
@ -124,8 +124,8 @@ func (c *Client) Connect() error {
msg := secure.PacketStart{
OperationType: secure.OperationTypeSend,
ClientName: "Justin Hawkins",
ProtocolVersion: "v1.0",
AuthToken: "abc123",
ProtocolVersion: "1.0",
AuthToken: "dummy",
}
// gob.Register(secure.PacketSendStart{})

View File

@ -112,6 +112,7 @@ func BenchmarkPPS(b *testing.B) {
out := make([]byte, 16384)
n, err := dstSecConn.Read(out)
if err != nil {
b.Errorf("got error %v", err)
}

View File

@ -97,11 +97,23 @@ func handleConnection(conn *net.TCPConn) {
log.Printf("connection has been closed prematurely")
return
}
// xxx we need to add a response part here so they can be notified
if err != nil {
log.Printf("error while expecting PacketStart: %v", err)
return
}
if start.ProtocolVersion != "1.0" {
log.Printf("bad protocol version")
return
}
if start.AuthToken != "dummy" {
log.Print("bad authtoken")
return
}
conn.SetDeadline(time.Now().Add(time.Second * 5))
if start.OperationType == secure.OperationTypeSend {