diff options
author | Himbeer <himbeer@disroot.org> | 2024-08-23 11:36:12 +0200 |
---|---|---|
committer | Himbeer <himbeer@disroot.org> | 2024-08-23 11:36:12 +0200 |
commit | 3b78a789bb205356c3aff64926f8699070db7a61 (patch) | |
tree | a318dc9e034dbc8aecadfe79c7909cd7ff6df12e | |
parent | f0c81db0341efc8dc7b9f483df6bd6dc70c0077b (diff) |
Fix empty / connect packets being forwarded to rudp caller
This causes "EOF" errors that don't affect further receive operations.
They occur because the higher-level mt wrapper expects a 16-bit command
ID that isn't there.
-rw-r--r-- | rudp/recv.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rudp/recv.go b/rudp/recv.go index f5ac236..d8cd7e1 100644 --- a/rudp/recv.go +++ b/rudp/recv.go @@ -150,6 +150,11 @@ func (c *Conn) processRawPkt(data []byte, pi PktInfo) (err error) { return TrailingDataError(data[off:]) } case rawOrig: + // Don't forward initial empty packet to caller. + if len(data[off:]) == 0 { + break + } + c.gotPkt(Pkt{ Reader: bytes.NewReader(data[off:]), PktInfo: pi, |