func TestAllAuthenticatorLoadable(t *testing.T) { assert := assert.On(t) noopAuth, err := CreateAuthenticator(loader.GetType(new(noop.Config)), nil) assert.Error(err).IsNil() assert.Int(noopAuth.Overhead()).Equals(0) srtp, err := CreateAuthenticator(loader.GetType(new(srtp.Config)), nil) assert.Error(err).IsNil() assert.Int(srtp.Overhead()).Equals(4) utp, err := CreateAuthenticator(loader.GetType(new(utp.Config)), nil) assert.Error(err).IsNil() assert.Int(utp.Overhead()).Equals(4) }
func Test_listenWSAndDial_TLS(t *testing.T) { assert := assert.On(t) go func() { <-time.After(time.Second * 5) assert.Fail("Too slow") }() tlsSettings := &v2tls.Config{ AllowInsecure: true, Certificate: []*v2tls.Certificate{ { Certificate: ReadFile("./../../../testing/tls/cert.pem", assert), Key: ReadFile("./../../../testing/tls/key.pem", assert), }, }, } listen, err := ListenWS(v2net.DomainAddress("localhost"), 13143, internet.ListenOptions{ Stream: &internet.StreamConfig{ SecurityType: loader.GetType(new(v2tls.Config)), SecuritySettings: []*loader.TypedSettings{loader.NewTypedSettings(tlsSettings)}, Network: v2net.Network_WebSocket, NetworkSettings: []*internet.NetworkSettings{ { Network: v2net.Network_WebSocket, Settings: loader.NewTypedSettings(&Config{ Path: "wss", ConnectionReuse: &ConnectionReuse{ Enable: true, }, }), }, }, }, }) assert.Error(err).IsNil() go func() { conn, err := listen.Accept() assert.Error(err).IsNil() conn.Close() listen.Close() }() conn, err := Dial(v2net.AnyIP, v2net.TCPDestination(v2net.DomainAddress("localhost"), 13143), internet.DialerOptions{ Stream: &internet.StreamConfig{ SecurityType: loader.GetType(new(v2tls.Config)), SecuritySettings: []*loader.TypedSettings{loader.NewTypedSettings(tlsSettings)}, Network: v2net.Network_WebSocket, NetworkSettings: []*internet.NetworkSettings{ { Network: v2net.Network_WebSocket, Settings: loader.NewTypedSettings(&Config{ Path: "wss", ConnectionReuse: &ConnectionReuse{ Enable: true, }, }), }, }, }, }) assert.Error(err).IsNil() conn.Close() }
func init() { registry.MustRegisterOutboundHandlerCreator(loader.GetType(new(Config)), new(FreedomFactory)) }
func init() { // Must happen after config is initialized registry.MustRegisterOutboundHandlerCreator(loader.GetType(new(ClientConfig)), new(ClientFactory)) registry.MustRegisterInboundHandlerCreator(loader.GetType(new(ServerConfig)), new(ServerFactory)) }
func init() { registry.MustRegisterInboundHandlerCreator(loader.GetType(new(ServerConfig)), new(ServerFactory)) }
func init() { // Must listed after config.pb.go registry.MustRegisterOutboundHandlerCreator(loader.GetType(new(Config)), new(Factory)) }
func init() { internet.RegisterAuthenticator(loader.GetType(new(Config)), NoOpAuthenticatorFactory{}) internet.RegisterConnectionAuthenticator(loader.GetType(new(Config)), NoOpConnectionAuthenticatorFactory{}) }
func init() { app.RegisterApplicationFactory(loader.GetType(new(Config)), RouterFactory{}) }
func init() { internet.RegisterAuthenticator(loader.GetType(new(Config)), SRTPFactory{}) }