diff --git a/client.go b/client.go index e7d75157..e169e192 100644 --- a/client.go +++ b/client.go @@ -1288,9 +1288,8 @@ func (c *Client) doSetup( v := headers.TransportModeRecord return &v } - - v := headers.TransportModePlay - return &v + // when playing, omit mode, since it causes errors with some servers. + return nil }(), } diff --git a/client_play_test.go b/client_play_test.go index f505598f..722617c9 100644 --- a/client_play_test.go +++ b/client_play_test.go @@ -344,6 +344,8 @@ func TestClientPlay(t *testing.T) { err2 = inTH.Unmarshal(req.Header["Transport"]) require.NoError(t, err2) + require.Equal(t, (*headers.TransportMode)(nil), inTH.Mode) + var th headers.Transport switch transport { diff --git a/client_record_test.go b/client_record_test.go index 07b03478..88c4c972 100644 --- a/client_record_test.go +++ b/client_record_test.go @@ -200,6 +200,8 @@ func TestClientRecordSerial(t *testing.T) { err2 = inTH.Unmarshal(req.Header["Transport"]) require.NoError(t, err2) + require.Equal(t, headers.TransportModeRecord, *inTH.Mode) + var l1 net.PacketConn var l2 net.PacketConn if transport == "udp" {