Something went wrong. Try again.
Monorepo for Tangled tangled.org
Something went wrong. Try again.
Go
1234567891011121314151617181920212223242526272829303132333435363738394041424344package netutil
import ( "testing"
"github.com/gorilla/websocket")
func TestSSRFWebsocketDialerPreservesHandshakeTimeout(t *testing.T) { dialer := SSRFWebsocketDialer(false) if dialer.HandshakeTimeout != websocket.DefaultDialer.HandshakeTimeout { t.Fatalf("HandshakeTimeout = %v, want %v", dialer.HandshakeTimeout, websocket.DefaultDialer.HandshakeTimeout) } if dialer.NetDialContext == nil { t.Fatal("NetDialContext is nil; public-only dialing is not enforced") }}
func TestEnforceWSSURLAllowsProductionLoopback(t *testing.T) { for _, rawURL := range []string{ "ws://127.0.0.1:6555/mill", "ws://[::1]:6555/mill", } { t.Run(rawURL, func(t *testing.T) { if _, err := EnforceWSSURL(rawURL, false); err != nil { t.Fatal(err) } }) }}
func TestEnforceWSSURLRejectsProductionCleartextOffHost(t *testing.T) { for _, rawURL := range []string{ "ws://192.0.2.1:6555/mill", "ws://mill.example.com/mill", } { t.Run(rawURL, func(t *testing.T) { if _, err := EnforceWSSURL(rawURL, false); err == nil { t.Fatalf("EnforceWSSURL(%q) accepted production cleartext", rawURL) } }) }}