aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-11-29 20:39:47 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2016-11-29 21:10:45 +0000
commit00047248223a68882a120e210014b66577172218 (patch)
tree7b20ea023819e4c908f2fe4ed979010de670f98f
parent268bc396c1ce5b7495c5818a286ef92763c1ba7e (diff)
downloadgo-00047248223a68882a120e210014b66577172218.tar.gz
go-00047248223a68882a120e210014b66577172218.zip
doc: more additions to go1.8.html
Adds crypto/tls, crypto/x509, math/big, mime. TBR=See https://golang.org/cl/33244 Updates #17929 Change-Id: I3fa3739e56f8c005e2a43c19f525cc5e2d981935 Reviewed-on: https://go-review.googlesource.com/33666 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-rw-r--r--doc/go1.8.html156
-rw-r--r--doc/go1.8.txt74
2 files changed, 190 insertions, 40 deletions
diff --git a/doc/go1.8.html b/doc/go1.8.html
index a70cc44284..534b287de8 100644
--- a/doc/go1.8.html
+++ b/doc/go1.8.html
@@ -541,6 +541,122 @@ in mind.
</dd>
</dl>
+<dl id="crypto_tls"><dt><a href="/pkg/crypto/tls/">crypto/tls</a></dt>
+ <dd>
+ <p> <!-- CL 25159, CL 31318 -->
+ The new method
+ <a href="/pkg/crypto/tls/#Conn.CloseWrite"><code>Conn.CloseWrite</code></a>
+ allows TLS connections to be half closed.
+ </p>
+
+ <p> <!-- CL 28075 -->
+ The new method
+ <a href="/pkg/crypto/tls/#Config.Clone"><code>Config.Clone</code></a>
+ clones a TLS configuration.
+ </p>
+
+ <p>
+ <!-- CL 30790 -->
+ The new <a href="/pkg/crypto/tls/#Config.GetConfigForClient"><code>Config.GetConfigForClient</code></a> (TODO: make link work)
+ callback allows selecting a configuration for a client dynamically, based
+ on the client's
+ <a href="/pkg/crypto/tls/#ClientHelloInfo"><code>ClientHelloInfo</code></a>.
+
+ <!-- CL 31391, CL 32119 -->
+ The <a href="/pkg/crypto/tls/#ClientHelloInfo"><code>ClientHelloInfo</code></a>
+ struct now has new
+ fields <code>Conn</code>, <code>SignatureSchemes</code> (using
+ the new
+ type <a href="/kg/crypto/tls/#SignatureScheme"><code>SignatureScheme</code></a>),
+ <code>SupportedProtos</code>, and <code>SupportedVersions</code>.
+ </p>
+
+ <p> <!-- CL 32115 -->
+ The new <a href="/pkg/crypto/tls/#Config.GetClientCertificate"><code>Config.GetClientCertificate</code></a> (TODO: make link work)
+ callback allows selecting a client certificate based on the server's
+ TLS <code>CertificateRequest</code> message, represented by the new
+ <a href="/pkg/crypto/tls/#CertificateRequestInfo"><code>CertificateRequestInfo</code></a>.
+ </p>
+
+ <p> <!-- CL 27434 -->
+ The new
+ <a href="/pkg/crypto/tls/#Config.KeyLogWriter"><code>Config.KeyLogWriter</code></a>
+ (TODO: make link work) allows debugging TLS connections
+ in <a href="https://www.wireshark.org/">WireShark</a> and
+ similar tools.
+ </p>
+
+ <p> <!-- CL 32115 -->
+ The new
+ <a href="/pkg/crypto/tls/#Config.VerifyPeerCertificate"><code>Config.VerifyPeerCertificate</code></a>
+ (TODO: make link work)
+ callback allows additional validation of a peer's presented certificate.
+ </p>
+
+ <p> <!-- CL 18130 -->
+ The <code>crypto/tls</code> package now implements basic
+ countermeasures against CBC padding oracles. There should be
+ no explicit secret-dependent timings, but it does not attempt to
+ normalize memory accesses to prevent cache timing leaks.
+ </p>
+
+ <p>
+ The <code>crypto/tls</code> package now supports
+ X25519 and <!-- CL 30824, CL 30825 -->
+ ChaCha20-Poly1305. <!-- CL 30957, CL 30958 -->
+ ChaCha20-Poly1305 is now prioritized unless <!-- CL 32871 -->
+ AES-GCM when hardware support is present.
+ </p>
+
+ <p> <!-- CL 27315 -->
+ AES-128-CBC cipher suites with SHA-256 are also
+ now supported.
+ </p>
+
+ </dd>
+</dl>
+
+<dl id="crypto_x509"><dt><a href="/pkg/crypto/x509/">crypto/x509</a></dt>
+ <dd>
+ <p> <!-- CL 30578 -->
+ <a href="/pkg/crypto/x509/#SystemCertPool"><code>SystemCertPool</code></a>
+ is now implemented on Windows.
+ </p>
+
+ <p> <!-- CL 24743 -->
+ PSS signatures are now supported.
+ </p>
+
+ <p> <!-- CL 32644 -->
+ <a href="/pkg/crypto/x509/#UnknownAuthorityError"><code>UnknownAuthorityError</code></a>
+ now has a <code>Cert</code> field, reporting the untrusted
+ certificate.
+ </p>
+
+ <p>
+ Certificate validation is more permissive in a few cases and
+ stricter in a few other cases.
+ <!--
+crypto/x509: allow a leaf certificate to be specified directly as root (CL 27393)
+crypto/x509: check that the issuer name matches the issuer's subject name (CL 23571)
+crypto/x509: don't accept a root that already appears in a chain. (CL 32121)
+crypto/x509: fix name constraints handling (CL 30155)
+crypto/x509: parse all names in an RDN (CL 30810)
+crypto/x509: recognise ISO OID for RSA+SHA1 (CL 27394)
+crypto/x509: require a NULL parameters for RSA public keys (CL 16166, CL 27312)
+crypto/x509: return error for missing SerialNumber (CL 27238)
+-->
+ </p>
+
+ <p><!-- CL 30375 -->
+ Root certificates will now also be looked for
+ at <code>/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem</code>
+ on Linux, to support RHEL and CentOS.
+ </p>
+
+ </dd>
+</dl>
+
<dl id="database_sql"><dt><a href="/pkg/database/sql/">database/sql</a></dt>
<dd>
<p>
@@ -725,6 +841,29 @@ pkg debug/pe, type StringTable []uint8</pre>
</dd>
</dl>
+<dl id="math_big"><dt><a href="/pkg/math/big/">math/big</a></dt>
+ <dd>
+ <p><!-- CL 30706 -->
+ The new method
+ <a href="/pkg/math/big/#Int.Sqrt"><code>Int.Sqrt</code></a>
+ calculates ⌊√x⌋.
+ </p>
+
+ <p>
+ The new method
+ <a href="/pkg/math/big/#Float.Scan"><code>Float.Scan</code></a>
+ is a support routine for
+ <a href="/pkg/fmt/#Scanner"><code>fmt.Scanner</code></a>.
+ </p>
+
+ <p>
+ <a href="/pkg/math/big/#Int.ModInverse"><code>Int.ModInverse</code></a>
+ now supports negative numbers.
+ </p>
+
+ </dd>
+</dl>
+
<dl id="math_rand"><dt><a href="/pkg/math/rand/">math/rand</a></dt>
<dd>
@@ -742,6 +881,23 @@ pkg debug/pe, type StringTable []uint8</pre>
</dd>
</dl>
+<dl id="mime"><dt><a href="/pkg/mime/">mime</a></dt>
+ <dd>
+ <p> <!-- CL 32175 -->
+ <a href="/pkg/mime/#ParseMediaType"><code>ParseMediaType</code></a>
+ now preserves unnecessary backslash escapes as literals,
+ in order to support MSIE.
+ When MSIE sends a full file path (in "intranet mode"), it does not
+ escape backslashes: <code>"C:\dev\go\foo.txt"</code>, not
+ <code>"C:\\dev\\go\\foo.txt"</code>.
+ If we see an unnecessary backslash escape, we now assume it is from MSIE
+ and intended as a literal backslash.
+ No known MIME generators emit unnecessary backslash escapes
+ for simple token characters like numbers and letters.
+ </p>
+ </dd>
+</dl>
+
<dl id="mime_quotedprintable"><dt><a href="/pkg/mime/quotedprintable/">mime/quotedprintable</a></dt>
<dd>
diff --git a/doc/go1.8.txt b/doc/go1.8.txt
index 5d2f6b5aa7..93aa31c12d 100644
--- a/doc/go1.8.txt
+++ b/doc/go1.8.txt
@@ -91,40 +91,6 @@ cmd/vet: skip printf check for non-constant format string during failed import (
crypto/cipher: enforce message size limits for GCM (CL 28410)
-crypto/tls: add CloseWrite method to Conn (CL 25159, 31318)
-crypto/tls: add Config.Clone (CL 28075)
-crypto/tls: add Config.GetConfigForClient (CL 30790)
-crypto/tls: add GetClientCertificate callback (CL 32115)
-crypto/tls: add KeyLogWriter for debugging (CL 27434)
-crypto/tls: add VerifyPeerCertificate to tls.Config (CL 26654)
-crypto/tls: add a SignatureScheme type. (CL 32119)
-crypto/tls: don't generate random ticket keys if already set (CL 27317)
-crypto/tls: enable ChaCha20-Poly1305 cipher suites by default. (CL 30958)
-crypto/tls: expand ClientHelloInfo (CL 31391)
-crypto/tls: fix deadlock when racing to complete handshake (CL 29164)
-crypto/tls: flush the buffer on handshake errors (CL 28818)
-crypto/tls: implement countermeasures against CBC padding oracles (CL 18130)
-crypto/tls: set Conn.ConnectionState.ServerName unconditionally (CL 22862)
-crypto/tls: support AES-128-CBC cipher suites with SHA-256 (CL 27315)
-crypto/tls: support ChaCha20-Poly1305. (CL 30957)
-crypto/tls: support X25519 (CL 30824, CL 30825)
-crypto/{tls,cipher,internal/cryptohw}: prioritise AES-GCM when hardware support is present. (CL 32871)
-
-crypto/x509: Fix bug in UnknownAuthorityError.Error (CL 27992)
-crypto/x509: allow a leaf certificate to be specified directly as root (CL 27393)
-crypto/x509: check that the issuer name matches the issuer's subject name (CL 23571)
-crypto/x509: don't accept a root that already appears in a chain. (CL 32121)
-crypto/x509: expose UnknownAuthorityError.Cert (CL 32644)
-crypto/x509: fix name constraints handling (CL 30155)
-crypto/x509: implement SystemCertPool on Windows (CL 30578)
-crypto/x509: parse all names in an RDN (CL 30810)
-crypto/x509: recognise ISO OID for RSA+SHA1 (CL 27394)
-crypto/x509: require a NULL parameters for RSA public keys (CL 16166)
-crypto/x509: require a NULL parameters for RSA public keys (CL 27312)
-crypto/x509: return error for missing SerialNumber (CL 27238)
-crypto/x509: support PSS signatures (CL 24743)
-crypto/x509: support RHEL 7 cert bundle (CL 30375)
-
encoding/asn1: return error for unexported fields in Marshal, Unmarshal (CL 31540)
encoding/xml: add wildcard support for collecting all attributes (CL 30946)
@@ -148,12 +114,6 @@ html/template: check "type" attribute in <script> (CL 14336)
internal/trace: fix analysis of EvGoWaiting/EvGoInSyscall events (CL 25572)
-math/big: add (*Int).Sqrt (CL 30706)
-math/big: implement Float.Scan, type assert fmt interfaces to enforce docs (CL 30723)
-math/big: support negative numbers in ModInverse (CL 29299)
-
-mime: preserve unnecessary backslash escapes as literals (CL 32175)
-
net/http/httptest: fill ContentLength in recorded Response (CL 28302)
net/http/httptrace: add ClientTrace.TLSHandshakeStart & TLSHandshakeDone (CL 30359)
net/http/httputil: add ModifyResponse to reverseProxy (CL 32356)
@@ -402,6 +362,36 @@ compress/flate: make compression level 0 consistent (CL 31174)
compress/flate: tighten the BestSpeed max match offset bound. (CL 32149)
compress/gzip: only encode MTIME if it is valid (CL 32325)
context: make DeadlineExceeded implement net.Error (CL 30370)
+crypto/tls: add CloseWrite method to Conn (CL 25159, 31318)
+crypto/tls: add Config.Clone (CL 28075)
+crypto/tls: add Config.GetConfigForClient (CL 30790)
+crypto/tls: add GetClientCertificate callback (CL 32115)
+crypto/tls: add KeyLogWriter for debugging (CL 27434)
+crypto/tls: add VerifyPeerCertificate to tls.Config (CL 26654)
+crypto/tls: add a SignatureScheme type. (CL 32119)
+crypto/tls: don't generate random ticket keys if already set (CL 27317)
+crypto/tls: enable ChaCha20-Poly1305 cipher suites by default. (CL 30958)
+crypto/tls: expand ClientHelloInfo (CL 31391)
+crypto/tls: fix deadlock when racing to complete handshake (CL 29164)
+crypto/tls: flush the buffer on handshake errors (CL 28818)
+crypto/tls: implement countermeasures against CBC padding oracles (CL 18130)
+crypto/tls: set Conn.ConnectionState.ServerName unconditionally (CL 22862)
+crypto/tls: support AES-128-CBC cipher suites with SHA-256 (CL 27315)
+crypto/tls: support ChaCha20-Poly1305. (CL 30957)
+crypto/tls: support X25519 (CL 30824, CL 30825)
+crypto/{tls,cipher,internal/cryptohw}: prioritise AES-GCM when hardware support is present. (CL 32871)
+crypto/x509: support PSS signatures (CL 24743)
+crypto/x509: implement SystemCertPool on Windows (CL 30578)
+crypto/x509: expose UnknownAuthorityError.Cert (CL 32644)
+crypto/x509: allow a leaf certificate to be specified directly as root (CL 27393)
+crypto/x509: check that the issuer name matches the issuer's subject name (CL 23571)
+crypto/x509: don't accept a root that already appears in a chain. (CL 32121)
+crypto/x509: fix name constraints handling (CL 30155)
+crypto/x509: parse all names in an RDN (CL 30810)
+crypto/x509: recognise ISO OID for RSA+SHA1 (CL 27394)
+crypto/x509: require a NULL parameters for RSA public keys (CL 16166, CL 27312)
+crypto/x509: return error for missing SerialNumber (CL 27238)
+crypto/x509: support RHEL 7 cert bundle (CL 30375)
database/sql: accept nil pointers to Valuers implemented on value receivers (CL 31259)
database/sql: add Pinger interface to driver Conn (CL 32136)
database/sql: add context helper methods and transaction types (CL 31258)
@@ -425,7 +415,11 @@ image/png: implement grayscale transparency. (CL 32143)
image/png: implement truecolor transparency. (CL 32140)
image/png: improve compression by skipping filter for paletted images (CL 29872)
lib/time: update tzdata to 2016i (CL 33029)
+math/big: add (*Int).Sqrt (CL 30706)
+math/big: implement Float.Scan, type assert fmt interfaces to enforce docs (CL 30723)
+math/big: support negative numbers in ModInverse (CL 29299)
math/rand: add Rand.Uint64 (CL 27253)
+mime: preserve unnecessary backslash escapes as literals (CL 32175)
mime/quotedprintable: accept = not followed by 2 hex digits as literal equals (CL 32174)
mime/quotedprintable: accept trailing soft line-break at the end of message (CL 27530)
net/http, net/http/httptest: make http2's TrailerPrefix work for http1 (CL 32479)