summaryrefslogtreecommitdiffstats
path: root/vendor/golang.org/x
diff options
context:
space:
mode:
authorDawid Dziurla <dawidd0811@gmail.com>2019-12-13 11:29:12 +0100
committerDawid Dziurla <dawidd0811@gmail.com>2019-12-13 11:31:04 +0100
commitbe8f589c325e7a7d78c753a2571577eb76cba4ad (patch)
tree89bd2ab275e48bba66c35a1696f21e2a7f1612d8 /vendor/golang.org/x
parent3074ae99ead364d38c0d271df18bdf95eacfa8ea (diff)
update dependencies
Diffstat (limited to 'vendor/golang.org/x')
-rw-r--r--vendor/golang.org/x/crypto/ssh/certs.go35
-rw-r--r--vendor/golang.org/x/crypto/ssh/keys.go280
-rw-r--r--vendor/golang.org/x/crypto/ssh/server.go4
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_arm64.go134
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_arm64.s31
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go11
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go11
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c (renamed from vendor/golang.org/x/sys/cpu/cpu_gccgo.c)0
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go (renamed from vendor/golang.org/x/sys/cpu/cpu_gccgo.go)0
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_linux.go48
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go8
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go9
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_mips64x.go2
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_mipsx.go2
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_other_arm64.go2
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_riscv64.go9
-rw-r--r--vendor/golang.org/x/sys/cpu/cpu_wasm.go2
-rw-r--r--vendor/golang.org/x/sys/cpu/hwcap_linux.go56
-rw-r--r--vendor/golang.org/x/sys/unix/mkall.sh2
-rw-r--r--vendor/golang.org/x/sys/unix/mkasm_darwin.go78
-rw-r--r--vendor/golang.org/x/sys/unix/mkerrors.sh6
-rw-r--r--vendor/golang.org/x/sys/unix/mkpost.go122
-rw-r--r--vendor/golang.org/x/sys/unix/mksyscall.go402
-rw-r--r--vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go415
-rw-r--r--vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go614
-rw-r--r--vendor/golang.org/x/sys/unix/mksyscall_solaris.go335
-rw-r--r--vendor/golang.org/x/sys/unix/mksysctl_openbsd.go355
-rw-r--r--vendor/golang.org/x/sys/unix/mksysnum.go190
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd.go10
-rw-r--r--vendor/golang.org/x/sys/unix/types_aix.go237
-rw-r--r--vendor/golang.org/x/sys/unix/types_darwin.go283
-rw-r--r--vendor/golang.org/x/sys/unix/types_dragonfly.go263
-rw-r--r--vendor/golang.org/x/sys/unix/types_freebsd.go400
-rw-r--r--vendor/golang.org/x/sys/unix/types_netbsd.go290
-rw-r--r--vendor/golang.org/x/sys/unix/types_openbsd.go283
-rw-r--r--vendor/golang.org/x/sys/unix/types_solaris.go266
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go12
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go12
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_386.go5569
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go5569
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_arm.go5581
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go5555
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips.go5573
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go5573
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go5573
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go5573
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go5691
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go5691
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go5543
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go5689
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go5669
-rw-r--r--vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go (renamed from vendor/golang.org/x/sys/unix/zptracearm_linux.go)2
-rw-r--r--vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go17
-rw-r--r--vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go (renamed from vendor/golang.org/x/sys/unix/zptracemips_linux.go)2
-rw-r--r--vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go (renamed from vendor/golang.org/x/sys/unix/zptracemipsle_linux.go)2
-rw-r--r--vendor/golang.org/x/sys/unix/zptrace_x86_linux.go (renamed from vendor/golang.org/x/sys/unix/zptrace386_linux.go)2
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go25
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go25
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go25
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go25
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go1
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_386.go59
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_arm.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go61
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go61
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go60
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go32
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go33
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go32
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go33
-rw-r--r--vendor/golang.org/x/sys/windows/security_windows.go4
-rw-r--r--vendor/golang.org/x/sys/windows/syscall_windows.go77
-rw-r--r--vendor/golang.org/x/sys/windows/types_windows.go33
-rw-r--r--vendor/golang.org/x/sys/windows/zsyscall_windows.go87
-rw-r--r--vendor/golang.org/x/text/internal/language/compact/gen.go64
-rw-r--r--vendor/golang.org/x/text/internal/language/compact/gen_index.go113
-rw-r--r--vendor/golang.org/x/text/internal/language/compact/gen_parents.go54
-rw-r--r--vendor/golang.org/x/text/internal/language/gen.go1520
-rw-r--r--vendor/golang.org/x/text/internal/language/gen_common.go20
-rw-r--r--vendor/golang.org/x/text/language/gen.go305
-rw-r--r--vendor/golang.org/x/text/unicode/norm/maketables.go986
-rw-r--r--vendor/golang.org/x/text/unicode/norm/triegen.go117
93 files changed, 38496 insertions, 43992 deletions
diff --git a/vendor/golang.org/x/crypto/ssh/certs.go b/vendor/golang.org/x/crypto/ssh/certs.go
index 00ed9923e..0f89aec1c 100644
--- a/vendor/golang.org/x/crypto/ssh/certs.go
+++ b/vendor/golang.org/x/crypto/ssh/certs.go
@@ -17,12 +17,14 @@ import (
// These constants from [PROTOCOL.certkeys] represent the algorithm names
// for certificate types supported by this package.
const (
- CertAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com"
- CertAlgoDSAv01 = "ssh-dss-cert-v01@openssh.com"
- CertAlgoECDSA256v01 = "ecdsa-sha2-nistp256-cert-v01@openssh.com"
- CertAlgoECDSA384v01 = "ecdsa-sha2-nistp384-cert-v01@openssh.com"
- CertAlgoECDSA521v01 = "ecdsa-sha2-nistp521-cert-v01@openssh.com"
- CertAlgoED25519v01 = "ssh-ed25519-cert-v01@openssh.com"
+ CertAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com"
+ CertAlgoDSAv01 = "ssh-dss-cert-v01@openssh.com"
+ CertAlgoECDSA256v01 = "ecdsa-sha2-nistp256-cert-v01@openssh.com"
+ CertAlgoECDSA384v01 = "ecdsa-sha2-nistp384-cert-v01@openssh.com"
+ CertAlgoECDSA521v01 = "ecdsa-sha2-nistp521-cert-v01@openssh.com"
+ CertAlgoSKECDSA256v01 = "sk-ecdsa-sha2-nistp256-cert-v01@openssh.com"
+ CertAlgoED25519v01 = "ssh-ed25519-cert-v01@openssh.com"
+ CertAlgoSKED25519v01 = "sk-ssh-ed25519-cert-v01@openssh.com"
)
// Certificate types distinguish between host and user
@@ -37,6 +39,7 @@ const (
type Signature struct {
Format string
Blob []byte
+ Rest []byte `ssh:"rest"`
}
// CertTimeInfinity can be used for OpenSSHCertV01.ValidBefore to indicate that
@@ -429,12 +432,14 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error {
}
var certAlgoNames = map[string]string{
- KeyAlgoRSA: CertAlgoRSAv01,
- KeyAlgoDSA: CertAlgoDSAv01,
- KeyAlgoECDSA256: CertAlgoECDSA256v01,
- KeyAlgoECDSA384: CertAlgoECDSA384v01,
- KeyAlgoECDSA521: CertAlgoECDSA521v01,
- KeyAlgoED25519: CertAlgoED25519v01,
+ KeyAlgoRSA: CertAlgoRSAv01,
+ KeyAlgoDSA: CertAlgoDSAv01,
+ KeyAlgoECDSA256: CertAlgoECDSA256v01,
+ KeyAlgoECDSA384: CertAlgoECDSA384v01,
+ KeyAlgoECDSA521: CertAlgoECDSA521v01,
+ KeyAlgoSKECDSA256: CertAlgoSKECDSA256v01,
+ KeyAlgoED25519: CertAlgoED25519v01,
+ KeyAlgoSKED25519: CertAlgoSKED25519v01,
}
// certToPrivAlgo returns the underlying algorithm for a certificate algorithm.
@@ -518,6 +523,12 @@ func parseSignatureBody(in []byte) (out *Signature, rest []byte, ok bool) {
return
}
+ switch out.Format {
+ case KeyAlgoSKECDSA256, CertAlgoSKECDSA256v01, KeyAlgoSKED25519, CertAlgoSKED25519v01:
+ out.Rest = in
+ return out, nil, ok
+ }
+
return out, in, ok
}
diff --git a/vendor/golang.org/x/crypto/ssh/keys.go b/vendor/golang.org/x/crypto/ssh/keys.go
index 969804794..c148ad4c4 100644
--- a/vendor/golang.org/x/crypto/ssh/keys.go
+++ b/vendor/golang.org/x/crypto/ssh/keys.go
@@ -30,12 +30,14 @@ import (
// These constants represent the algorithm names for key types supported by this
// package.
const (
- KeyAlgoRSA = "ssh-rsa"
- KeyAlgoDSA = "ssh-dss"
- KeyAlgoECDSA256 = "ecdsa-sha2-nistp256"
- KeyAlgoECDSA384 = "ecdsa-sha2-nistp384"
- KeyAlgoECDSA521 = "ecdsa-sha2-nistp521"
- KeyAlgoED25519 = "ssh-ed25519"
+ KeyAlgoRSA = "ssh-rsa"
+ KeyAlgoDSA = "ssh-dss"
+ KeyAlgoECDSA256 = "ecdsa-sha2-nistp256"
+ KeyAlgoSKECDSA256 = "sk-ecdsa-sha2-nistp256@openssh.com"
+ KeyAlgoECDSA384 = "ecdsa-sha2-nistp384"
+ KeyAlgoECDSA521 = "ecdsa-sha2-nistp521"
+ KeyAlgoED25519 = "ssh-ed25519"
+ KeyAlgoSKED25519 = "sk-ssh-ed25519@openssh.com"
)
// These constants represent non-default signature algorithms that are supported
@@ -58,9 +60,13 @@ func parsePubKey(in []byte, algo string) (pubKey PublicKey, rest []byte, err err
return parseDSA(in)
case KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521:
return parseECDSA(in)
+ case KeyAlgoSKECDSA256:
+ return parseSKECDSA(in)
case KeyAlgoED25519:
return parseED25519(in)
- case CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoED25519v01:
+ case KeyAlgoSKED25519:
+ return parseSKEd25519(in)
+ case CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoSKECDSA256v01, CertAlgoED25519v01, CertAlgoSKED25519v01:
cert, err := parseCert(in, certToPrivAlgo(algo))
if err != nil {
return nil, nil, err
@@ -685,6 +691,218 @@ func (k *ecdsaPublicKey) CryptoPublicKey() crypto.PublicKey {
return (*ecdsa.PublicKey)(k)
}
+// skFields holds the additional fields present in U2F/FIDO2 signatures.
+// See openssh/PROTOCOL.u2f 'SSH U2F Signatures' for details.
+type skFields struct {
+ // Flags contains U2F/FIDO2 flags such as 'user present'
+ Flags byte
+ // Counter is a monotonic signature counter which can be
+ // used to detect concurrent use of a private key, should
+ // it be extracted from hardware.
+ Counter uint32
+}
+
+type skECDSAPublicKey struct {
+ // application is a URL-like string, typically "ssh:" for SSH.
+ // see openssh/PROTOCOL.u2f for details.
+ application string
+ ecdsa.PublicKey
+}
+
+func (k *skECDSAPublicKey) Type() string {
+ return KeyAlgoSKECDSA256
+}
+
+func (k *skECDSAPublicKey) nistID() string {
+ return "nistp256"
+}
+
+func parseSKECDSA(in []byte) (out PublicKey, rest []byte, err error) {
+ var w struct {
+ Curve string
+ KeyBytes []byte
+ Application string
+ Rest []byte `ssh:"rest"`
+ }
+
+ if err := Unmarshal(in, &w); err != nil {
+ return nil, nil, err
+ }
+
+ key := new(skECDSAPublicKey)
+ key.application = w.Application
+
+ if w.Curve != "nistp256" {
+ return nil, nil, errors.New("ssh: unsupported curve")
+ }
+ key.Curve = elliptic.P256()
+
+ key.X, key.Y = elliptic.Unmarshal(key.Curve, w.KeyBytes)
+ if key.X == nil || key.Y == nil {
+ return nil, nil, errors.New("ssh: invalid curve point")
+ }
+
+ return key, w.Rest, nil
+}
+
+func (k *skECDSAPublicKey) Marshal() []byte {
+ // See RFC 5656, section 3.1.
+ keyBytes := elliptic.Marshal(k.Curve, k.X, k.Y)
+ w := struct {
+ Name string
+ ID string
+ Key []byte
+ Application string
+ }{
+ k.Type(),
+ k.nistID(),
+ keyBytes,
+ k.application,
+ }
+
+ return Marshal(&w)
+}
+
+func (k *skECDSAPublicKey) Verify(data []byte, sig *Signature) error {
+ if sig.Format != k.Type() {
+ return fmt.Errorf("ssh: signature type %s for key type %s", sig.Format, k.Type())
+ }
+
+ h := ecHash(k.Curve).New()
+ h.Write([]byte(k.application))
+ appDigest := h.Sum(nil)
+
+ h.Reset()
+ h.Write(data)
+ dataDigest := h.Sum(nil)
+
+ var ecSig struct {
+ R *big.Int
+ S