From 7abee8aee6c098a6172bbcb132b19aae92a1a6b1 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Thu, 18 Jul 2024 21:26:27 -0700 Subject: [PATCH] packets Change-Id: If385bb5f88ff7db9e388bd0724a1f953a3b11639 Signed-off-by: Brad Fitzpatrick --- gokrazy/cmd/vnetwrap/vnetwrap.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gokrazy/cmd/vnetwrap/vnetwrap.go b/gokrazy/cmd/vnetwrap/vnetwrap.go index d8dae280c..c529bd172 100644 --- a/gokrazy/cmd/vnetwrap/vnetwrap.go +++ b/gokrazy/cmd/vnetwrap/vnetwrap.go @@ -1,6 +1,8 @@ package main import ( + "encoding/binary" + "io" "log" "net" "os" @@ -26,11 +28,18 @@ func serveConn(c net.Conn) { buf := make([]byte, 4<<10) for { - n, err := c.Read(buf) - log.Printf("Read: (%v, %v): %02x", n, err, buf[:n]) - if err != nil { + if _, err := io.ReadFull(c, buf[:4]); err != nil { + log.Printf("ReadFull header: %v", err) return } + n := binary.BigEndian.Uint32(buf[:4]) + + if _, err := io.ReadFull(c, buf[:n]); err != nil { + log.Printf("ReadFull pkt: %v", err) + return + } + + log.Printf("pkt %d bytes: % 02x", n, buf[:n]) } }