Browse Source

Fix: http2: listen port failed use error level log

ref https://github.com/v2fly/v2ray-core/issues/576
kslr 4 years ago
parent
commit
d04a786a85
2 changed files with 10 additions and 13 deletions
  1. 2 2
      transport/internet/http/http_test.go
  2. 8 11
      transport/internet/http/hub.go

+ 2 - 2
transport/internet/http/http_test.go

@@ -26,7 +26,7 @@ func TestHTTPConnection(t *testing.T) {
 		ProtocolSettings: &Config{},
 		ProtocolSettings: &Config{},
 		SecurityType:     "tls",
 		SecurityType:     "tls",
 		SecuritySettings: &tls.Config{
 		SecuritySettings: &tls.Config{
-			Certificate: []*tls.Certificate{tls.ParseCertificate(cert.MustGenerate(nil, cert.CommonName("www.v2ray.com")))},
+			Certificate: []*tls.Certificate{tls.ParseCertificate(cert.MustGenerate(nil, cert.CommonName("www.v2fly.org")))},
 		},
 		},
 	}, func(conn internet.Connection) {
 	}, func(conn internet.Connection) {
 		go func() {
 		go func() {
@@ -56,7 +56,7 @@ func TestHTTPConnection(t *testing.T) {
 		ProtocolSettings: &Config{},
 		ProtocolSettings: &Config{},
 		SecurityType:     "tls",
 		SecurityType:     "tls",
 		SecuritySettings: &tls.Config{
 		SecuritySettings: &tls.Config{
-			ServerName:    "www.v2ray.com",
+			ServerName:    "www.v2fly.org",
 			AllowInsecure: true,
 			AllowInsecure: true,
 		},
 		},
 	})
 	})

+ 8 - 11
transport/internet/http/hub.go

@@ -4,10 +4,8 @@ package http
 
 
 import (
 import (
 	"context"
 	"context"
-	"fmt"
 	"io"
 	"io"
 	"net/http"
 	"net/http"
-	"os"
 	"strings"
 	"strings"
 	"time"
 	"time"
 
 
@@ -38,7 +36,6 @@ func (l *Listener) Addr() net.Addr {
 
 
 func (l *Listener) Close() error {
 func (l *Listener) Close() error {
 	if l.locker != nil {
 	if l.locker != nil {
-		fmt.Fprintln(os.Stderr, "RELEASE LOCK")
 		l.locker.Release()
 		l.locker.Release()
 	}
 	}
 	return l.server.Close()
 	return l.server.Close()
@@ -90,11 +87,11 @@ func (l *Listener) ServeHTTP(writer http.ResponseWriter, request *http.Request)
 		}
 		}
 	}
 	}
 
 
-	forwardedAddrs := http_proto.ParseXForwardedFor(request.Header)
-	if len(forwardedAddrs) > 0 && forwardedAddrs[0].Family().IsIP() {
+	forwardedAddress := http_proto.ParseXForwardedFor(request.Header)
+	if len(forwardedAddress) > 0 && forwardedAddress[0].Family().IsIP() {
 		remoteAddr = &net.TCPAddr{
 		remoteAddr = &net.TCPAddr{
-			IP:   forwardedAddrs[0].IP(),
-			Port: int(0),
+			IP:   forwardedAddress[0].IP(),
+			Port: 0,
 		}
 		}
 	}
 	}
 
 
@@ -166,7 +163,7 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti
 				Net:  "unix",
 				Net:  "unix",
 			}, streamSettings.SocketSettings)
 			}, streamSettings.SocketSettings)
 			if err != nil {
 			if err != nil {
-				newError("failed to listen on ", address).Base(err).WriteToLog(session.ExportIDToError(ctx))
+				newError("failed to listen on ", address).Base(err).AtError().WriteToLog(session.ExportIDToError(ctx))
 				return
 				return
 			}
 			}
 			locker := ctx.Value(address.Domain())
 			locker := ctx.Value(address.Domain())
@@ -179,7 +176,7 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti
 				Port: int(port),
 				Port: int(port),
 			}, streamSettings.SocketSettings)
 			}, streamSettings.SocketSettings)
 			if err != nil {
 			if err != nil {
-				newError("failed to listen on ", address, ":", port).Base(err).WriteToLog(session.ExportIDToError(ctx))
+				newError("failed to listen on ", address, ":", port).Base(err).AtError().WriteToLog(session.ExportIDToError(ctx))
 				return
 				return
 			}
 			}
 		}
 		}
@@ -187,12 +184,12 @@ func Listen(ctx context.Context, address net.Address, port net.Port, streamSetti
 		if config == nil {
 		if config == nil {
 			err = server.Serve(streamListener)
 			err = server.Serve(streamListener)
 			if err != nil {
 			if err != nil {
-				newError("stoping serving H2C").Base(err).WriteToLog(session.ExportIDToError(ctx))
+				newError("stopping serving H2C").Base(err).WriteToLog(session.ExportIDToError(ctx))
 			}
 			}
 		} else {
 		} else {
 			err = server.ServeTLS(streamListener, "", "")
 			err = server.ServeTLS(streamListener, "", "")
 			if err != nil {
 			if err != nil {
-				newError("stoping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx))
+				newError("stopping serving TLS").Base(err).WriteToLog(session.ExportIDToError(ctx))
 			}
 			}
 		}
 		}
 	}()
 	}()