<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.12.16</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.12.16</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.12.16'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2020-01-27T22:27:19Z</updated>
<entry>
<title>[release-branch.go1.12-security] go1.12.16</title>
<updated>2020-01-27T22:27:19Z</updated>
<author>
<name>Dmitri Shuralyov</name>
<email>dmitshur@golang.org</email>
</author>
<published>2020-01-27T21:36:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=deac3221fc4cd365fb40d269dd56551e9d354356'/>
<id>urn:sha1:deac3221fc4cd365fb40d269dd56551e9d354356</id>
<content type='text'>
Change-Id: Iea658e285670a897a45eca3756004f050763c64d
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/649301
Reviewed-by: Katie Hockman &lt;katiehockman@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12-security] doc: document Go 1.12.16</title>
<updated>2020-01-27T21:15:08Z</updated>
<author>
<name>Katie Hockman</name>
<email>katie@golang.org</email>
</author>
<published>2020-01-27T19:11:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=e60fc07b54375c9dcc5d6e28c9376926c450fd57'/>
<id>urn:sha1:e60fc07b54375c9dcc5d6e28c9376926c450fd57</id>
<content type='text'>
Change-Id: Ib8ac9bf5020d9ab126a8069378978d7dce3509dc
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/648870
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12-security] internal/x/crypto/cryptobyte: import security fix for 32-bit archs</title>
<updated>2020-01-27T20:31:21Z</updated>
<author>
<name>Katie Hockman</name>
<email>katie@golang.org</email>
</author>
<published>2020-01-24T20:29:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=44bb3b4b5341f5bb373acb0b8130795f888c9ace'/>
<id>urn:sha1:44bb3b4b5341f5bb373acb0b8130795f888c9ace</id>
<content type='text'>
    cryptobyte: fix panic due to malformed ASN.1 inputs on 32-bit archs

    When int is 32 bits wide (on 32-bit architectures like 386 and arm), an
    overflow could occur, causing a panic, due to malformed ASN.1 being
    passed to any of the ASN1 methods of String.

    Tested on linux/386 and darwin/amd64.

    This fixes CVE-2020-7919 and was found thanks to the Project Wycheproof
    test vectors.

    Change-Id: I8c9696a8bfad1b40ec877cd740dba3467d66ab54
    Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/645211
    Reviewed-by: Katie Hockman &lt;katiehockman@google.com&gt;
    Reviewed-by: Adam Langley &lt;agl@google.com&gt;

x/crypto/cryptobyte is used in crypto/x509 for parsing certificates.
Malformed certificates might cause a panic during parsing on 32-bit
architectures (like arm and 386).

Change-Id: I3c619af508bacff84023be4d5a7c4992c2f20a56
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/647483
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12-security] crypto/x509: mitigate CVE-2020-0601 verification bypass on Windows</title>
<updated>2020-01-24T19:25:49Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2020-01-21T19:45:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=a8b372fb365f4b69f0b06aa9c3e642e6aa022840'/>
<id>urn:sha1:a8b372fb365f4b69f0b06aa9c3e642e6aa022840</id>
<content type='text'>
An attacker can trick the Windows system verifier to use a poisoned set
of elliptic curve parameters for a trusted root, allowing it to generate
spoofed signatures. When this happens, the returned chain will present
the unmodified original root, so the actual signatures won't verify (as
they are invalid for the correct parameters). Simply double check them
as a safety measure and mitigation.

Windows users should still install the system security patch ASAP.

This is the same mitigation adopted by Chromium:

https://chromium-review.googlesource.com/c/chromium/src/+/1994434

Change-Id: I2c734f6fb2cb51d906c7fd77034318ffeeb3e146
Reviewed-on: https://go-review.googlesource.com/c/go/+/215905
Run-TryBot: Filippo Valsorda &lt;filippo@golang.org&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
Reviewed-by: Ryan Sleevi &lt;sleevi@google.com&gt;
Reviewed-by: Katie Hockman &lt;katie@golang.org&gt;
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/647124
Reviewed-by: Filippo Valsorda &lt;valsorda@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12] go1.12.15</title>
<updated>2020-01-09T19:00:28Z</updated>
<author>
<name>Carlos Amedee</name>
<email>carlos@golang.org</email>
</author>
<published>2020-01-09T16:24:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=694e20f4e08af7e7669c9652424d0df9b0b83f00'/>
<id>urn:sha1:694e20f4e08af7e7669c9652424d0df9b0b83f00</id>
<content type='text'>
Change-Id: I6e47da51c3687ae9590554d003d803270f50911e
Reviewed-on: https://go-review.googlesource.com/c/go/+/214082
Run-TryBot: Carlos Amedee &lt;carlos@golang.org&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
Reviewed-by: Alexander Rakoczy &lt;alex@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12] doc: document Go 1.12.15</title>
<updated>2020-01-09T16:23:25Z</updated>
<author>
<name>Carlos Amedee</name>
<email>carlos@golang.org</email>
</author>
<published>2020-01-09T15:50:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=bc42c346297a984b38aea02480fe71322facc09f'/>
<id>urn:sha1:bc42c346297a984b38aea02480fe71322facc09f</id>
<content type='text'>
Change-Id: I3b2c26d4818ca28a71a7fd6927a0c39c9253f06f
Reviewed-on: https://go-review.googlesource.com/c/go/+/214079
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
Reviewed-by: Alexander Rakoczy &lt;alex@golang.org&gt;
Run-TryBot: Dmitri Shuralyov &lt;dmitshur@golang.org&gt;
Run-TryBot: Alexander Rakoczy &lt;alex@golang.org&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12] runtime: ensure memmove write pointer atomically on ARM64</title>
<updated>2020-01-08T22:22:22Z</updated>
<author>
<name>Cherry Zhang</name>
<email>cherryyz@google.com</email>
</author>
<published>2019-12-27T17:02:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=ae78084ae4db4f7728e1615c95dfd91c175c906d'/>
<id>urn:sha1:ae78084ae4db4f7728e1615c95dfd91c175c906d</id>
<content type='text'>
If a pointer write is not atomic, if the GC is running
concurrently, it may observe a partially updated pointer, which
may point to unallocated or already dead memory. Most pointer
writes, like the store instructions generated by the compiler,
are already atomic. But we still need to be careful in places
like memmove. In memmove, we don't know which bits are pointers
(or too expensive to query), so we ensure that all aligned
pointer-sized units are written atomically.

Fixes #36367.
Updates #36101.

Change-Id: I1b3ca24c6b1ac8a8aaf9ee470115e9a89ec1b00b
Reviewed-on: https://go-review.googlesource.com/c/go/+/212626
Reviewed-by: Austin Clements &lt;austin@google.com&gt;
(cherry picked from commit ffbc02761abb47106ce88e09290a31513b5f6c8a)
Reviewed-on: https://go-review.googlesource.com/c/go/+/213684
Run-TryBot: Cherry Zhang &lt;cherryyz@google.com&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.12] net/http: avoid writing to Transport.ProxyConnectHeader</title>
<updated>2020-01-07T22:39:30Z</updated>
<author>
<name>Bryan C. Mills</name>
<email>bcmills@google.com</email>
</author>
<published>2020-01-07T17:03:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=c5af2aa0037b39db801154451a3f70982751d988'/>
<id>urn:sha1:c5af2aa0037b39db801154451a3f70982751d988</id>
<content type='text'>
Previously, we accidentally wrote the Proxy-Authorization header for
the initial CONNECT request to the shared ProxyConnectHeader map when
it was non-nil.

Updates #36431
Fixes #36433

Change-Id: I5cb414f391dddf8c23d85427eb6973f14c949025
Reviewed-on: https://go-review.googlesource.com/c/go/+/213638
Run-TryBot: Bryan C. Mills &lt;bcmills@google.com&gt;
Reviewed-by: Brad Fitzpatrick &lt;bradfitz@golang.org&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
(cherry picked from commit 249c85d3aab2ad2d0bcbf36efe606fdd66f25c72)
Reviewed-on: https://go-review.googlesource.com/c/go/+/213677
</content>
</entry>
<entry>
<title>[release-branch.go1.12] runtime: do not use PowerRegisterSuspendResumeNotification on systems with "program time" timer</title>
<updated>2020-01-03T23:40:29Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-11-21T15:16:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=e42221dc7a003b988b1cae7f07650aeaa705247a'/>
<id>urn:sha1:e42221dc7a003b988b1cae7f07650aeaa705247a</id>
<content type='text'>
Systems where PowerRegisterSuspendResumeNotification returns ERROR_
FILE_NOT_FOUND are also systems where nanotime() is on "program time"
rather than "real time".  The chain for this is:

powrprof.dll!PowerRegisterSuspendResumeNotification -&gt;
  umpdc.dll!PdcPortOpen -&gt;
    ntdll.dll!ZwAlpcConnectPort("\\PdcPort") -&gt;
      syscall -&gt; ntoskrnl.exe!AlpcpConnectPort

Opening \\.\PdcPort fails with STATUS_OBJECT_NAME_NOT_FOUND when pdc.sys
hasn't been initialized. Pdc.sys also provides the various hooks for
sleep resumption events, which means if it's not loaded, then our "real
time" timer is actually on "program time". Finally STATUS_OBJECT_NAME_
NOT_FOUND is passed through RtlNtStatusToDosError, which returns ERROR_
FILE_NOT_FOUND. Therefore, in the case where the function returns ERROR_
FILE_NOT_FOUND, we don't mind, since the timer we're using will
correspond fine with the lack of sleep resumption notifications. This
applies, for example, to Docker users.

Updates #35447
Updates #35482
Fixes #36377

Change-Id: I9e1ce5bbc54b9da55ff7a3918b5da28112647eee
Reviewed-on: https://go-review.googlesource.com/c/go/+/208317
Reviewed-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
Reviewed-by: Austin Clements &lt;austin@google.com&gt;
Run-TryBot: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/213198
</content>
</entry>
<entry>
<title>[release-branch.go1.12] runtime: monitor for suspend/resume to kick timeouts</title>
<updated>2020-01-03T23:37:47Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-08-27T12:46:16Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=93f059947e31e8dda98c98880aee0e7b924d9a61'/>
<id>urn:sha1:93f059947e31e8dda98c98880aee0e7b924d9a61</id>
<content type='text'>
Starting in Windows 8, the wait functions don't take into account
suspend time, even though the monotonic counters do. This results in
timer buckets stalling on resume. Therefore, this commit makes it so
that on resume, we return from the wait functions and recalculate the
amount of time left to wait.

This is a cherry pick of CL 191957 and its cleanup, CL 198417.

Updates #31528
Fixes #36376

Change-Id: I0db02cc72188cb620954e87a0180e0a3c83f4a56
Reviewed-on: https://go-review.googlesource.com/c/go/+/193607
Run-TryBot: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
TryBot-Result: Gobot Gobot &lt;gobot@golang.org&gt;
Reviewed-by: Austin Clements &lt;austin@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/213197
</content>
</entry>
</feed>
