From ba2a83a51da4b229bd32b24f4900d6f4a032608b Mon Sep 17 00:00:00 2001 From: Wankko Ree Date: Wed, 3 Jul 2024 17:11:30 +0800 Subject: [PATCH] fix QUIC error "CRYPTO_ERROR 0x178 (remote): tls: no application protocol" --- dialer/icmp/dialer.go | 2 +- dialer/quic/dialer.go | 2 +- listener/icmp/listener.go | 2 +- listener/quic/listener.go | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dialer/icmp/dialer.go b/dialer/icmp/dialer.go index dde1d11..85a5385 100644 --- a/dialer/icmp/dialer.go +++ b/dialer/icmp/dialer.go @@ -115,7 +115,7 @@ func (d *icmpDialer) initSession(ctx context.Context, addr net.Addr, conn net.Pa } tlsCfg := d.options.TLSConfig - tlsCfg.NextProtos = []string{"http/3", "quic/v1"} + tlsCfg.NextProtos = []string{"h3", "quic/v1"} session, err := quic.DialEarly(ctx, conn, addr, tlsCfg, quicConfig) if err != nil { diff --git a/dialer/quic/dialer.go b/dialer/quic/dialer.go index 381f5bf..c43f2ef 100644 --- a/dialer/quic/dialer.go +++ b/dialer/quic/dialer.go @@ -114,7 +114,7 @@ func (d *quicDialer) initSession(ctx context.Context, addr net.Addr, conn net.Pa } tlsCfg := d.options.TLSConfig - tlsCfg.NextProtos = []string{"http/3", "quic/v1"} + tlsCfg.NextProtos = []string{"h3", "quic/v1"} session, err := quic.DialEarly(ctx, conn, addr, tlsCfg, quicConfig) if err != nil { diff --git a/listener/icmp/listener.go b/listener/icmp/listener.go index 7347324..ec7341b 100644 --- a/listener/icmp/listener.go +++ b/listener/icmp/listener.go @@ -73,7 +73,7 @@ func (l *icmpListener) Init(md md.Metadata) (err error) { } tlsCfg := l.options.TLSConfig - tlsCfg.NextProtos = []string{"http/3", "quic/v1"} + tlsCfg.NextProtos = []string{"h3", "quic/v1"} ln, err := quic.ListenEarly(conn, tlsCfg, config) if err != nil { diff --git a/listener/quic/listener.go b/listener/quic/listener.go index 6b3c9ff..842df4b 100644 --- a/listener/quic/listener.go +++ b/listener/quic/listener.go @@ -82,7 +82,7 @@ func (l *quicListener) Init(md md.Metadata) (err error) { } tlsCfg := l.options.TLSConfig - tlsCfg.NextProtos = []string{"http/3", "quic/v1"} + tlsCfg.NextProtos = []string{"h3", "quic/v1"} ln, err := quic.ListenEarly(conn, tlsCfg, config) if err != nil {