run hack/update-netparse-cve.sh

Kubernetes-commit: 0cd75e8fec62a2531637e80bb950ac9983cac1b0
This commit is contained in:
Antonio Ojea 2021-08-20 01:16:14 +02:00 committed by Kubernetes Publisher
parent 9c45b4b2bf
commit a6edfabde7
4 changed files with 15 additions and 11 deletions

View File

@ -28,9 +28,10 @@ import (
"strings" "strings"
"sync" "sync"
"k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/httpstream" "k8s.io/apimachinery/pkg/util/httpstream"
"k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/runtime"
netutils "k8s.io/utils/net"
) )
// PortForwardProtocolV1Name is the subprotocol used for port forwarding. // PortForwardProtocolV1Name is the subprotocol used for port forwarding.
@ -131,9 +132,9 @@ func parseAddresses(addressesToParse []string) ([]listenAddress, error) {
ip := listenAddress{address: "::1", protocol: "tcp6", failureMode: "all"} ip := listenAddress{address: "::1", protocol: "tcp6", failureMode: "all"}
parsed[ip.address] = ip parsed[ip.address] = ip
} }
} else if net.ParseIP(address).To4() != nil { } else if netutils.ParseIPSloppy(address).To4() != nil {
parsed[address] = listenAddress{address: address, protocol: "tcp4", failureMode: "any"} parsed[address] = listenAddress{address: address, protocol: "tcp4", failureMode: "any"}
} else if net.ParseIP(address) != nil { } else if netutils.ParseIPSloppy(address) != nil {
parsed[address] = listenAddress{address: address, protocol: "tcp6", failureMode: "any"} parsed[address] = listenAddress{address: address, protocol: "tcp6", failureMode: "any"}
} else { } else {
return nil, fmt.Errorf("%s is not a valid IP", address) return nil, fmt.Errorf("%s is not a valid IP", address)

View File

@ -33,6 +33,7 @@ import (
"time" "time"
"k8s.io/client-go/util/keyutil" "k8s.io/client-go/util/keyutil"
netutils "k8s.io/utils/net"
) )
const duration365d = time.Hour * 24 * 365 const duration365d = time.Hour * 24 * 365
@ -157,7 +158,7 @@ func GenerateSelfSignedCertKeyWithFixtures(host string, alternateIPs []net.IP, a
BasicConstraintsValid: true, BasicConstraintsValid: true,
} }
if ip := net.ParseIP(host); ip != nil { if ip := netutils.ParseIPSloppy(host); ip != nil {
template.IPAddresses = append(template.IPAddresses, ip) template.IPAddresses = append(template.IPAddresses, ip)
} else { } else {
template.DNSNames = append(template.DNSNames, host) template.DNSNames = append(template.DNSNames, host)

View File

@ -25,6 +25,7 @@ import (
"testing" "testing"
"k8s.io/client-go/util/keyutil" "k8s.io/client-go/util/keyutil"
netutils "k8s.io/utils/net"
) )
func TestMakeCSR(t *testing.T) { func TestMakeCSR(t *testing.T) {
@ -33,7 +34,7 @@ func TestMakeCSR(t *testing.T) {
CommonName: "kube-worker", CommonName: "kube-worker",
} }
dnsSANs := []string{"localhost"} dnsSANs := []string{"localhost"}
ipSANs := []net.IP{net.ParseIP("127.0.0.1")} ipSANs := []net.IP{netutils.ParseIPSloppy("127.0.0.1")}
keyData, err := ioutil.ReadFile(keyFile) keyData, err := ioutil.ReadFile(keyFile)
if err != nil { if err != nil {

View File

@ -38,6 +38,7 @@ import (
"k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/kubernetes/fake"
certificatesclient "k8s.io/client-go/kubernetes/typed/certificates/v1beta1" certificatesclient "k8s.io/client-go/kubernetes/typed/certificates/v1beta1"
clienttesting "k8s.io/client-go/testing" clienttesting "k8s.io/client-go/testing"
netutils "k8s.io/utils/net"
) )
var storeCertData = newCertificateData(`-----BEGIN CERTIFICATE----- var storeCertData = newCertificateData(`-----BEGIN CERTIFICATE-----
@ -394,11 +395,11 @@ func TestCertSatisfiesTemplate(t *testing.T) {
name: "Missing IP addresses in certificate", name: "Missing IP addresses in certificate",
cert: &x509.Certificate{ cert: &x509.Certificate{
Subject: pkix.Name{}, Subject: pkix.Name{},
IPAddresses: []net.IP{net.ParseIP("192.168.1.1")}, IPAddresses: []net.IP{netutils.ParseIPSloppy("192.168.1.1")},
}, },
template: &x509.CertificateRequest{ template: &x509.CertificateRequest{
Subject: pkix.Name{}, Subject: pkix.Name{},
IPAddresses: []net.IP{net.ParseIP("192.168.1.1"), net.ParseIP("192.168.1.2")}, IPAddresses: []net.IP{netutils.ParseIPSloppy("192.168.1.1"), netutils.ParseIPSloppy("192.168.1.2")},
}, },
shouldSatisfy: false, shouldSatisfy: false,
}, },
@ -406,11 +407,11 @@ func TestCertSatisfiesTemplate(t *testing.T) {
name: "Extra IP addresses in certificate", name: "Extra IP addresses in certificate",
cert: &x509.Certificate{ cert: &x509.Certificate{
Subject: pkix.Name{}, Subject: pkix.Name{},
IPAddresses: []net.IP{net.ParseIP("192.168.1.1"), net.ParseIP("192.168.1.2")}, IPAddresses: []net.IP{netutils.ParseIPSloppy("192.168.1.1"), netutils.ParseIPSloppy("192.168.1.2")},
}, },
template: &x509.CertificateRequest{ template: &x509.CertificateRequest{
Subject: pkix.Name{}, Subject: pkix.Name{},
IPAddresses: []net.IP{net.ParseIP("192.168.1.1")}, IPAddresses: []net.IP{netutils.ParseIPSloppy("192.168.1.1")},
}, },
shouldSatisfy: true, shouldSatisfy: true,
}, },
@ -422,7 +423,7 @@ func TestCertSatisfiesTemplate(t *testing.T) {
Organization: []string{"system:nodes"}, Organization: []string{"system:nodes"},
}, },
DNSNames: []string{"foo.example.com"}, DNSNames: []string{"foo.example.com"},
IPAddresses: []net.IP{net.ParseIP("192.168.1.1")}, IPAddresses: []net.IP{netutils.ParseIPSloppy("192.168.1.1")},
}, },
template: &x509.CertificateRequest{ template: &x509.CertificateRequest{
Subject: pkix.Name{ Subject: pkix.Name{
@ -430,7 +431,7 @@ func TestCertSatisfiesTemplate(t *testing.T) {
Organization: []string{"system:nodes"}, Organization: []string{"system:nodes"},
}, },
DNSNames: []string{"foo.example.com"}, DNSNames: []string{"foo.example.com"},
IPAddresses: []net.IP{net.ParseIP("192.168.1.1")}, IPAddresses: []net.IP{netutils.ParseIPSloppy("192.168.1.1")},
}, },
shouldSatisfy: true, shouldSatisfy: true,
}, },