cmd/tailscale: add debug hacks

Updates tailscale/corp#32586

Change-Id: I24c63ba122dbd3c3a4df005f178d799dd2a2d2d2
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
bradfitz/cli_ts2021_hang_test
Brad Fitzpatrick 4 months ago
parent e582fb9b53
commit 7b7265c815

@ -1116,6 +1116,34 @@ func tryConnect(ctx context.Context, controlPublic key.MachinePublic, noiseDiale
log.Printf("final underlying conn: %v / %v", conn.LocalAddr(), conn.RemoteAddr())
log.Printf("Reading header...")
t0 := time.Now()
hdr := make([]byte, 9)
n, err := io.ReadFull(conn, hdr) // just to verify conn is usable
if err != nil {
log.Printf("Read error: %v", err)
}
//log.Fatalf("Read = %d %q, %v (after %v)", n, hdr[:n], err, time.Since(t0))
epLen := binary.BigEndian.Uint32(hdr[5:])
if epLen > 10<<20 {
log.Fatal("invalid early payload length")
}
payBuf := make([]byte, epLen)
if _, err := io.ReadFull(conn, payBuf); err != nil {
log.Fatal(err)
}
log.Printf("got %d-byte early payload: %s", len(payBuf), payBuf)
t0 = time.Now()
for {
n, err = io.ReadFull(conn, hdr) // just to verify conn is usable
log.Printf("Read = %d %q, %v (after %v)", n, hdr[:n], err, time.Since(t0))
if err != nil {
log.Fatal(err)
}
}
h2Transport, err := http2.ConfigureTransports(&http.Transport{
IdleConnTimeout: time.Second,
})

Loading…
Cancel
Save