|
|
@ -116,8 +116,7 @@ func (s *ServerSession) Handshake(reader io.Reader, writer io.Writer) (*protocol
|
|
|
|
return nil, newError("failed to write auth response").Base(err)
|
|
|
|
return nil, newError("failed to write auth response").Base(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
buffer.Clear()
|
|
|
|
if err := buffer.Reset(buf.ReadFullFrom(reader, 4)); err != nil {
|
|
|
|
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, 4)); err != nil {
|
|
|
|
|
|
|
|
return nil, newError("failed to read request").Base(err)
|
|
|
|
return nil, newError("failed to read request").Base(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -192,24 +191,21 @@ func readUsernamePassword(reader io.Reader) (string, string, error) {
|
|
|
|
buffer := buf.NewLocal(512)
|
|
|
|
buffer := buf.NewLocal(512)
|
|
|
|
defer buffer.Release()
|
|
|
|
defer buffer.Release()
|
|
|
|
|
|
|
|
|
|
|
|
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, 2)); err != nil {
|
|
|
|
if err := buffer.Reset(buf.ReadFullFrom(reader, 2)); err != nil {
|
|
|
|
return "", "", err
|
|
|
|
return "", "", err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
nUsername := int(buffer.Byte(1))
|
|
|
|
nUsername := int(buffer.Byte(1))
|
|
|
|
|
|
|
|
|
|
|
|
buffer.Clear()
|
|
|
|
if err := buffer.Reset(buf.ReadFullFrom(reader, nUsername)); err != nil {
|
|
|
|
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, nUsername)); err != nil {
|
|
|
|
|
|
|
|
return "", "", err
|
|
|
|
return "", "", err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
username := buffer.String()
|
|
|
|
username := buffer.String()
|
|
|
|
buffer.Clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, 1)); err != nil {
|
|
|
|
if err := buffer.Reset(buf.ReadFullFrom(reader, 1)); err != nil {
|
|
|
|
return "", "", err
|
|
|
|
return "", "", err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
nPassword := int(buffer.Byte(0))
|
|
|
|
nPassword := int(buffer.Byte(0))
|
|
|
|
buffer.Clear()
|
|
|
|
if err := buffer.Reset(buf.ReadFullFrom(reader, nPassword)); err != nil {
|
|
|
|
if err := buffer.AppendSupplier(buf.ReadFullFrom(reader, nPassword)); err != nil {
|
|
|
|
|
|
|
|
return "", "", err
|
|
|
|
return "", "", err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
password := buffer.String()
|
|
|
|
password := buffer.String()
|
|
|
|