1. 30 Apr, 2015 6 commits
    • Adam Langley's avatar
      crypto/x509: be strict about trailing data. · 1ddb8c20
      Adam Langley authored
      The X.509 parser was allowing trailing data after a number of structures
      in certificates and public keys. There's no obvious security issue here,
      esp in certificates which are signed anyway, but this change makes
      trailing data an error just in case.
      
      Fixes #10583
      
      Change-Id: Idc289914899600697fc6d30482227ff4bf479241
      Reviewed-on: https://go-review.googlesource.com/9473Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarAdam Langley <agl@golang.org>
      1ddb8c20
    • Adam Langley's avatar
      crypto/tls: update the supported signature algorithms. · 1c105980
      Adam Langley authored
      This is the second in a two-part change. See https://golang.org/cl/9415
      for details of the overall change.
      
      This change updates the supported signature algorithms to include
      SHA-384 and updates all the testdata/ files accordingly. Even some of
      the testdata/ files named “TLS1.0” and “TLS1.1” have been updated
      because they have TLS 1.2 ClientHello's even though the server picks a
      lower version.
      
      Fixes #9757.
      
      Change-Id: Ia76de2b548d3b39cd4aa3f71132b0da7c917debd
      Reviewed-on: https://go-review.googlesource.com/9472Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      1c105980
    • Adam Langley's avatar
      crypto/tls: decouple handshake signatures from the handshake hash. · 09b238f1
      Adam Langley authored
      Prior to TLS 1.2, the handshake had a pleasing property that one could
      incrementally hash it and, from that, get the needed hashes for both
      the CertificateVerify and Finished messages.
      
      TLS 1.2 introduced negotiation for the signature and hash and it became
      possible for the handshake hash to be, say, SHA-384, but for the
      CertificateVerify to sign the handshake with SHA-1. The problem is that
      one doesn't know in advance which hashes will be needed and thus the
      handshake needs to be buffered.
      
      Go ignored this, always kept a single handshake hash, and any signatures
      over the handshake had to use that hash.
      
      However, there are a set of servers that inspect the client's offered
      signature hash functions and will abort the handshake if one of the
      server's certificates is signed with a hash function outside of that
      set. https://robertsspaceindustries.com/ is an example of such a server.
      
      Clearly not a lot of thought happened when that server code was written,
      but its out there and we have to deal with it.
      
      This change decouples the handshake hash from the CertificateVerify
      hash. This lays the groundwork for advertising support for SHA-384 but
      doesn't actually make that change in the interests of reviewability.
      Updating the advertised hash functions will cause changes in many of the
      testdata/ files and some errors might get lost in the noise. This change
      only needs to update four testdata/ files: one because a SHA-384-based
      handshake is now being signed with SHA-256 and the others because the
      TLS 1.2 CertificateRequest message now includes SHA-1.
      
      This change also has the effect of adding support for
      client-certificates in SSLv3 servers. However, SSLv3 is now disabled by
      default so this should be moot.
      
      It would be possible to avoid much of this change and just support
      SHA-384 for the ServerKeyExchange as the SKX only signs over the nonces
      and SKX params (a design mistake in TLS). However, that would leave Go
      in the odd situation where it advertised support for SHA-384, but would
      only use the handshake hash when signing client certificates. I fear
      that'll just cause problems in the future.
      
      Much of this code was written by davidben@ for the purposes of testing
      BoringSSL.
      
      Partly addresses #9757
      
      Change-Id: I5137a472b6076812af387a5a69fc62c7373cd485
      Reviewed-on: https://go-review.googlesource.com/9415
      Run-TryBot: Adam Langley <agl@golang.org>
      Reviewed-by: 's avatarAdam Langley <agl@golang.org>
      09b238f1
    • Ian Lance Taylor's avatar
      cmd/dist: rename buildmode method to supportedBuildmode · edcc8f9e
      Ian Lance Taylor authored
      Change-Id: Ie36fd46ad3c0799200fdf4240483a207335570d8
      Reviewed-on: https://go-review.googlesource.com/9531Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      edcc8f9e
    • Mikio Hara's avatar
      doc: mention net.OpError in go1.5.txt · 433af05a
      Mikio Hara authored
      Change-Id: I6cebaf42f2596c7f8fef3a67afb1e5ccb428d09c
      Reviewed-on: https://go-review.googlesource.com/9521Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      433af05a
    • Josh Bleecher Snyder's avatar
      src: build cmd in buildall.bash · 9b66cf60
      Josh Bleecher Snyder authored
      This exercises the linker as well as the compiler.
      
      Credit to Matthew Dempsky; see #10418.
      
      Change-Id: I793947c0c617a34e23df766bff5238ff3ac3c0af
      Reviewed-on: https://go-review.googlesource.com/9530Reviewed-by: 's avatarMichael Hudson-Doyle <michael.hudson@canonical.com>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      9b66cf60
  2. 29 Apr, 2015 32 commits
  3. 28 Apr, 2015 2 commits