fix(discovery): properly unmarshal local discovery (#9880)

Damage from recent protobuf refactoring
This commit is contained in:
Jakob Borg
2024-12-19 20:16:44 +00:00
committed by GitHub
parent 371ba69447
commit 4355dc69ea
+4 -3
View File
@@ -11,6 +11,7 @@ import (
"context"
"encoding/binary"
"encoding/hex"
"errors"
"fmt"
"io"
"net"
@@ -198,9 +199,9 @@ func (c *localClient) recvAnnouncements(ctx context.Context) error {
}
var pkt discoproto.Announce
err := proto.Unmarshal(buf[:4], &pkt)
if err != nil && err != io.EOF {
l.Debugf("discover: Failed to unmarshal local announcement from %s:\n%s", addr, hex.Dump(buf))
err := proto.Unmarshal(buf[4:], &pkt)
if err != nil && !errors.Is(err, io.EOF) {
l.Debugf("discover: Failed to unmarshal local announcement from %s (%s):\n%s", addr, err, hex.Dump(buf[4:]))
continue
}