diff --git a/go.mod b/go.mod index 64994fe..3230af0 100644 --- a/go.mod +++ b/go.mod @@ -7,15 +7,15 @@ require ( github.com/caddyserver/certmagic v0.12.0 github.com/klauspost/cpuid v1.3.1 // indirect github.com/miekg/dns v1.1.35 // indirect - github.com/pires/go-proxyproto v0.2.1-0.20201009121050-c24efa3e2d93 + github.com/pires/go-proxyproto v0.3.0 github.com/pkg/errors v0.9.1 // indirect github.com/stretchr/testify v1.6.1 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.16.0 golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 // indirect golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect - golang.org/x/net v0.0.0-20201027133719-8eef5233e2a1 // indirect - golang.org/x/sys v0.0.0-20201028094953-708e7fb298ac // indirect + golang.org/x/net v0.0.0-20201029055024-942e2f445f3c // indirect + golang.org/x/sys v0.0.0-20201029080932-201ba4db2418 // indirect golang.org/x/text v0.3.4 // indirect golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb // indirect gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect diff --git a/go.sum b/go.sum index ed29a6a..1a2c77f 100644 --- a/go.sum +++ b/go.sum @@ -28,6 +28,8 @@ github.com/miekg/dns v1.1.35 h1:oTfOaDH+mZkdcgdIjH6yBajRGtIwcwcaR+rt23ZSrJs= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/pires/go-proxyproto v0.2.1-0.20201009121050-c24efa3e2d93 h1:zJOJr+XdRZHeJ2u2M7d27G0PreBM84mXCcOSdQVC4Xc= github.com/pires/go-proxyproto v0.2.1-0.20201009121050-c24efa3e2d93/go.mod h1:Odh9VFOZJCf9G8cLW5o435Xf1J95Jw9Gw5rnCjcwzAY= +github.com/pires/go-proxyproto v0.3.0 h1:++BY4zWOpWha50IDjdnp7+NRTLuOHqMQC5PkgS7I4u4= +github.com/pires/go-proxyproto v0.3.0/go.mod h1:Odh9VFOZJCf9G8cLW5o435Xf1J95Jw9Gw5rnCjcwzAY= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -74,6 +76,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201027133719-8eef5233e2a1 h1:IEhJ99VWSYpHIxjlbu3DQyHegGPnQYAv0IaCX9KHyG0= golang.org/x/net v0.0.0-20201027133719-8eef5233e2a1/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201029055024-942e2f445f3c h1:rpcgRPA7OvNEOdprt2Wx8/Re2cBTd8NPo/lvo3AyMqk= +golang.org/x/net v0.0.0-20201029055024-942e2f445f3c/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -84,6 +88,8 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201028094953-708e7fb298ac h1:bplbaOojU0hnrC9nvWJ5Nvp/gPIWKFMiGBFI9Cpp16I= golang.org/x/sys v0.0.0-20201028094953-708e7fb298ac/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201029080932-201ba4db2418 h1:HlFl4V6pEMziuLXyRkm5BIYq1y1GAbb02pRlWvI54OM= +golang.org/x/sys v0.0.0-20201029080932-201ba4db2418/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= diff --git a/server.go b/server.go index a1a1161..4bd11dd 100644 --- a/server.go +++ b/server.go @@ -217,16 +217,11 @@ func duplexCopy(a, b io.ReadWriter) error { return <-done } -func newTLV(t proxyproto.PP2Type, v []byte) proxyproto.TLV { - return proxyproto.TLV{ - Type: t, - Length: len(v), - Value: v, - } -} - func authorityTLV(name string) proxyproto.TLV { - return newTLV(proxyproto.PP2_TYPE_AUTHORITY, []byte(name)) + return proxyproto.TLV{ + Type: proxyproto.PP2_TYPE_AUTHORITY, + Value: []byte(name), + } } func sslTLV(state *tls.ConnectionState) (proxyproto.TLV, error) { @@ -247,7 +242,10 @@ func sslTLV(state *tls.ConnectionState) (proxyproto.TLV, error) { version = "TLSv1.3" } if version != "" { - versionTLV := newTLV(proxyproto.PP2_SUBTYPE_SSL_VERSION, []byte(version)) + versionTLV := proxyproto.TLV{ + Type: proxyproto.PP2_SUBTYPE_SSL_VERSION, + Value: []byte(version), + } pp2ssl.TLV = append(pp2ssl.TLV, versionTLV) }