Merge pull request #92182 from sttts/sttts-non-tcp-listener

apiserver: fix secure serving cast for non-tcp listeners

Kubernetes-commit: 6dced80b5a7de41d4caf7b287e78c84a4d8761e0
This commit is contained in:
Kubernetes Publisher 2020-06-18 06:02:42 -07:00
commit 51732c2088
4 changed files with 12 additions and 10 deletions

2
Godeps/Godeps.json generated
View File

@ -676,7 +676,7 @@
},
{
"ImportPath": "k8s.io/client-go",
"Rev": "3ab27431ef50"
"Rev": "18c1ef0354fe"
},
{
"ImportPath": "k8s.io/component-base",

4
go.mod
View File

@ -43,7 +43,7 @@ require (
gopkg.in/yaml.v2 v2.2.8
k8s.io/api v0.0.0-20200617090426-8a7a6938a421
k8s.io/apimachinery v0.0.0-20200618091750-6e0343cc28d1
k8s.io/client-go v0.0.0-20200618092151-3ab27431ef50
k8s.io/client-go v0.0.0-20200618132424-18c1ef0354fe
k8s.io/component-base v0.0.0-20200617051220-6c60a4d2ed11
k8s.io/klog/v2 v2.1.0
k8s.io/kube-openapi v0.0.0-20200427153329-656914f816f9
@ -58,6 +58,6 @@ replace (
golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13
k8s.io/api => k8s.io/api v0.0.0-20200617090426-8a7a6938a421
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20200618091750-6e0343cc28d1
k8s.io/client-go => k8s.io/client-go v0.0.0-20200618092151-3ab27431ef50
k8s.io/client-go => k8s.io/client-go v0.0.0-20200618132424-18c1ef0354fe
k8s.io/component-base => k8s.io/component-base v0.0.0-20200617051220-6c60a4d2ed11
)

2
go.sum
View File

@ -448,7 +448,7 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
k8s.io/api v0.0.0-20200617090426-8a7a6938a421/go.mod h1:kD7EG+Wyq5Fu0MAEBkXyQVnnjyj/ChS5/vewKVRDaYI=
k8s.io/apimachinery v0.0.0-20200618091750-6e0343cc28d1/go.mod h1:OO1oUmqmYEvK9/2GigG7tpElec1NAKGniAPppy1PJGA=
k8s.io/client-go v0.0.0-20200618092151-3ab27431ef50/go.mod h1:bOoihAsKle+a9FgufU/ghgSzgvF7xJ/su3zwy/pfK3c=
k8s.io/client-go v0.0.0-20200618132424-18c1ef0354fe/go.mod h1:bOoihAsKle+a9FgufU/ghgSzgvF7xJ/su3zwy/pfK3c=
k8s.io/component-base v0.0.0-20200617051220-6c60a4d2ed11/go.mod h1:SIJ3hZh19C0QhquEIfpd0PWNnQPXJvrH9ClSZPF25sI=
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog/v2 v2.0.0 h1:Foj74zO6RbjjP4hBEKjnYtjjAhGg4jNynUdYF6fJrok=

View File

@ -218,7 +218,7 @@ func RunServer(
defer utilruntime.HandleCrash()
var listener net.Listener
listener = tcpKeepAliveListener{ln.(*net.TCPListener)}
listener = tcpKeepAliveListener{ln}
if server.TLSConfig != nil {
listener = tls.NewListener(listener, server.TLSConfig)
}
@ -244,15 +244,17 @@ func RunServer(
//
// Copied from Go 1.7.2 net/http/server.go
type tcpKeepAliveListener struct {
*net.TCPListener
net.Listener
}
func (ln tcpKeepAliveListener) Accept() (net.Conn, error) {
tc, err := ln.AcceptTCP()
c, err := ln.Listener.Accept()
if err != nil {
return nil, err
}
tc.SetKeepAlive(true)
tc.SetKeepAlivePeriod(defaultKeepAlivePeriod)
return tc, nil
if tc, ok := c.(*net.TCPConn); ok {
tc.SetKeepAlive(true)
tc.SetKeepAlivePeriod(defaultKeepAlivePeriod)
}
return c, nil
}