Skip to content

Commit

Permalink
Revert "add server-side http2 over tcp (h2c) support"
Browse files Browse the repository at this point in the history
This reverts commit e744537.
  • Loading branch information
lucifer9 committed Jun 29, 2019
1 parent f59c054 commit a28faba
Showing 1 changed file with 24 additions and 54 deletions.
78 changes: 24 additions & 54 deletions transport/internet/http/hub.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ import (
"v2ray.com/core/common/signal/done"
"v2ray.com/core/transport/internet"
"v2ray.com/core/transport/internet/tls"

"golang.org/x/net/http2"
"golang.org/x/net/http2/h2c"
)

type Listener struct {
Expand Down Expand Up @@ -107,61 +104,34 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti

config := tls.ConfigFromStreamSettings(streamSettings)
if config == nil {
// return nil, newError("TLS must be enabled for http transport.").AtWarning()
h2s:=&http2.Server{}

server := &http.Server{
Addr: serial.Concat(address, ":", port),
// TLSConfig: config.GetTLSConfig(tls.WithNextProto("h2")),
Handler: h2c.NewHandler(listener,h2s),
ReadHeaderTimeout: time.Second * 4,
return nil, newError("TLS must be enabled for http transport.").AtWarning()
}

server := &http.Server{
Addr: serial.Concat(address, ":", port),
TLSConfig: config.GetTLSConfig(tls.WithNextProto("h2")),
Handler: listener,
ReadHeaderTimeout: time.Second * 4,
}

listener.server = server
go func() {
tcpListener, err := internet.ListenSystem(ctx, &net.TCPAddr{
IP: address.IP(),
Port: int(port),
}, streamSettings.SocketSettings)
if err != nil {
newError("failed to listen on", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx))
return
}

listener.server = server
go func() {
tcpListener, err := internet.ListenSystem(ctx, &net.TCPAddr{
IP: address.IP(),
Port: int(port),
}, streamSettings.SocketSettings)
if err != nil {
newError("failed to listen on", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx))
return
}

err = server.Serve(tcpListener)
if err != nil {
newError("stoping serving H2C").Base(err).WriteToLog(session.ExportIDToError(ctx))
}
}()

return listener, nil
} else {
server := &http.Server{
Addr: serial.Concat(address, ":", port),
TLSConfig: config.GetTLSConfig(tls.WithNextProto("h2")),
Handler: listener,
ReadHeaderTimeout: time.Second * 4,
err = server.ServeTLS(tcpListener, "", "")
if err != nil {
newError("stoping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx))
}
}()

listener.server = server
go func() {
tcpListener, err := internet.ListenSystem(ctx, &net.TCPAddr{
IP: address.IP(),
Port: int(port),
}, streamSettings.SocketSettings)
if err != nil {
newError("failed to listen on", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx))
return
}

err = server.ServeTLS(tcpListener, "", "")
if err != nil {
newError("stoping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx))
}
}()

return listener, nil
}
return listener, nil
}

func init() {
Expand Down

0 comments on commit a28faba

Please sign in to comment.