FIXED:
* Link in README
* ReadConnResponse was not properly reading in the response status byte
  before checking the checksum, leading to receiving/parsing Response
  messages from a net.Conn *always* failing with an errs.ErrBadHdr.
  This has been rectified.
This commit is contained in:
brent saner
2025-09-30 14:15:00 -04:00
parent a86367b5b9
commit cefca8ad91
4 changed files with 33 additions and 3 deletions

View File

@@ -92,7 +92,15 @@ func ReadConnResponse(conn net.Conn) (resp *Response, err error) {
var size int
var buf *bytes.Buffer = new(bytes.Buffer)
// First get the checksum.
// Buffer in the status byte...
b = make([]byte, 1)
if _, err = conn.Read(b); err != nil {
return
}
if _, err = buf.Write(b); err != nil {
return
}
// Then get the checksum. Per spec, *all* responses *must* have a checksum.
b = make([]byte, len(hdrCKSUM))
if _, err = conn.Read(b); err != nil {
return