mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +00:00
Merge pull request #92182 from sttts/sttts-non-tcp-listener
apiserver: fix secure serving cast for non-tcp listeners
This commit is contained in:
commit
6dced80b5a
@ -218,7 +218,7 @@ func RunServer(
|
|||||||
defer utilruntime.HandleCrash()
|
defer utilruntime.HandleCrash()
|
||||||
|
|
||||||
var listener net.Listener
|
var listener net.Listener
|
||||||
listener = tcpKeepAliveListener{ln.(*net.TCPListener)}
|
listener = tcpKeepAliveListener{ln}
|
||||||
if server.TLSConfig != nil {
|
if server.TLSConfig != nil {
|
||||||
listener = tls.NewListener(listener, server.TLSConfig)
|
listener = tls.NewListener(listener, server.TLSConfig)
|
||||||
}
|
}
|
||||||
@ -244,15 +244,17 @@ func RunServer(
|
|||||||
//
|
//
|
||||||
// Copied from Go 1.7.2 net/http/server.go
|
// Copied from Go 1.7.2 net/http/server.go
|
||||||
type tcpKeepAliveListener struct {
|
type tcpKeepAliveListener struct {
|
||||||
*net.TCPListener
|
net.Listener
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ln tcpKeepAliveListener) Accept() (net.Conn, error) {
|
func (ln tcpKeepAliveListener) Accept() (net.Conn, error) {
|
||||||
tc, err := ln.AcceptTCP()
|
c, err := ln.Listener.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
tc.SetKeepAlive(true)
|
if tc, ok := c.(*net.TCPConn); ok {
|
||||||
tc.SetKeepAlivePeriod(defaultKeepAlivePeriod)
|
tc.SetKeepAlive(true)
|
||||||
return tc, nil
|
tc.SetKeepAlivePeriod(defaultKeepAlivePeriod)
|
||||||
|
}
|
||||||
|
return c, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user