- 15 Aug, 2019 2 commits
-
-
Dmitri Shuralyov authored
Change-Id: I88b7e085fc70f9c021788d364099f5bc6b705ba8 Reviewed-on: https://go-review.googlesource.com/c/go/+/190438Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
Dmitri Shuralyov authored
Change-Id: I0daab6cd347e1fc0066e516f02c33f1b63e3f1a3 Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/526992Reviewed-by: Filippo Valsorda <valsorda@google.com> (cherry picked from commit 305f6dc3) Reviewed-on: https://go-review.googlesource.com/c/go/+/190437Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
- 14 Aug, 2019 2 commits
-
-
Cherry Zhang authored
When calling a function obtained from reflect.Value.Method (or MethodByName), we copy the arguments from the caller frame, which does not include the receiver, to a new frame to call the actual method, which does include the receiver. Here we need to align the first (non-receiver) argument. As the receiver is pointer sized, it is generally naturally aligned, except on amd64p32, where the argument can have larger alignment, and this aligning becomes necessary. Fixes #33628. Change-Id: I5bea0e20173f06d1602c5666d4f334e3d0de5c1e Reviewed-on: https://go-review.googlesource.com/c/go/+/190297 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Toshihiro Shiino authored
Change-Id: If9ad650174572c475f0b3d3394208c2a9dd0a596 Reviewed-on: https://go-review.googlesource.com/c/go/+/190237Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com>
-
- 12 Aug, 2019 2 commits
-
-
Filippo Valsorda authored
When Host is not valid per RFC 3986, the behavior of Hostname and Port was wildly unpredictable, to the point that Host could have a suffix that didn't appear in neither Hostname nor Port. This is a security issue when applications are applying checks to Host and expecting them to be meaningful for the contents of Hostname. To reduce disruption, this change only aims to guarantee the following two security-relevant invariants. * Host is either Hostname or [Hostname] with Port empty, or Hostname:Port or [Hostname]:Port. * Port is only decimals. The second invariant is the one that's most likely to cause disruption, but I believe it's important, as it's conceivable an application might do a suffix check on Host and expect it to be meaningful for the contents of Hostname (if the suffix is not a valid port). There are three ways to ensure it. 1) Reject invalid ports in Parse. Note that non-numeric ports are already rejected if and only if the host starts with "[". 2) Consider non-numeric ports as part of Hostname, not Port. 3) Allow non-numeric ports, and hope they only flow down to net/http, which will reject them (#14353). This change adopts both 1 and 2. We could do only the latter, but then these invalid hosts would flow past port checks, like in http_test.TestTransportRejectsAlphaPort. Non-numeric ports weren't fully supported anyway, because they were rejected after IPv6 literals, so this restores consistency. We could do only the former, but at this point 2) is free and might help with manually constructed Host values (or if we get something wrong in Parse). Note that net.SplitHostPort and net.Dial explicitly accept service names in place of port numbers, but this is an URL package, and RFC 3986, Section 3.2.3, clearly specifies ports as a number in decimal. net/http uses a mix of net.SplitHostPort and url.Parse that would deserve looking into, but in general it seems that it will still accept service names in Addr fields as they are passed to net.Listen, while rejecting them in URLs, which feels correct. This leaves a number of invalid URLs to reject, which however are not security relevant once the two invariants above hold, so can be done in Go 1.14: IPv6 literals without brackets (#31024), invalid IPv6 literals, hostnames with invalid characters, and more. Tested with 200M executions of go-fuzz and the following Fuzz function. u, err := url.Parse(string(data)) if err != nil { return 0 } h := u.Hostname() p := u.Port() switch u.Host { case h + ":" + p: return 1 case "[" + h + "]:" + p: return 1 case h: fallthrough case "[" + h + "]": if p != "" { panic("unexpected Port()") } return 1 } panic("Host is not a variant of [Hostname]:Port") Fixes CVE-2019-14809 Updates #29098 Change-Id: I7ef40823dab28f29511329fa2d5a7fb10c3ec895 Reviewed-on: https://go-review.googlesource.com/c/go/+/189258Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Filippo Valsorda authored
The bundle included changes from a commit after the one referred to by the go.mod, probably due to cmd/bundle using the GOPATH source. Identified with the new go/packages based cmd/bundle from CL 189818. $ go get golang.org/x/net@461777fb6f $ go mod tidy $ go mod vendor $ go generate net/http # with CL 189818 Also, updated the socks_bundle.go generate command to drop obsolete options and match h2_bundle.go. It caused no output changes. Updates #32031 Change-Id: I0322d4e842dbfdad749455111072ca4872a62ad4 Reviewed-on: https://go-review.googlesource.com/c/go/+/189897Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
- 11 Aug, 2019 2 commits
-
-
Ian Lance Taylor authored
Updates #31449 Change-Id: I76490c5e83eb2f7ba529b387a57ba088428aece5 Reviewed-on: https://go-review.googlesource.com/c/go/+/189757 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
Pure White authored
Fixes #33054 Change-Id: I687d45e092d721a6c22888cc7ddbe420c16a5af9 GitHub-Last-Rev: a7208c89a0d613a53ab057e0b4418ae4719cfcbd GitHub-Pull-Request: golang/go#33069 Reviewed-on: https://go-review.googlesource.com/c/go/+/185917Reviewed-by: Rob Pike <r@golang.org>
-
- 10 Aug, 2019 1 commit
-
-
Carlo Alberto Ferraris authored
Mention faster sync.Mutex/RWMutex/Once in the 1.13 release notes. Change-Id: I29d8a5004a0af42542e8db82a8c9e2e06a15dbb0 GitHub-Last-Rev: 2995401dab563ea5af98c0f5351f51a6116f105e GitHub-Pull-Request: golang/go#33404 Reviewed-on: https://go-review.googlesource.com/c/go/+/188479Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
-
- 09 Aug, 2019 4 commits
-
-
K. "pestophagous" Heller authored
Prior doc implied that "git clone" was one way to obtain a go1.4 bootstrap toochain, but it did not state this outright. Further, the doc did not make it explicit in the "Fetch the repository" section that one must necessarily "git clone" a second time in the (presumed-to-be-uncommon) case where "git clone" had already been perfomed in the "compiler binaries" section. Updates #33402 Change-Id: Id70a6587b6ee09aca13559d63868b75cb07dff1e Reviewed-on: https://go-review.googlesource.com/c/go/+/188900Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
There is real (albeit generated) code that exceeds the limit. Fixes #33555 Change-Id: I668e85825d3d2a471970e869abe63f3492213cc1 Reviewed-on: https://go-review.googlesource.com/c/go/+/189697 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Agniva De Sarker authored
And also insert new paragraphs between GOOS and GOARCH listings for better readability. Fixes #28142 Fixes #26513 Change-Id: Ie92e98dbfd924e80032a12afbfa02f30e3a6f916 Reviewed-on: https://go-review.googlesource.com/c/go/+/189578Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Bryan C. Mills authored
If we don't know whether a path is a module path or a package path, previously we would first try a module query for it, then fall back to a package query. If we are using a sequence of proxies with fallback (as will be the default in Go 1.13), and the path is not actually a module path, that initial module query will fail against the first proxy, then immediately fall back to the next proxy in the sequence — even if the query could have been satisfied by some other (prefix) module available from the first proxy. Instead, we now query the requested path as only one kind of path. If we query it as a package path but it turns out to only exist as a module, we can detect that as a PackageNotInModuleError with an appropriate module path — we do not need to issue a second query to classify it. Fixes #31785 Change-Id: I581d44279196e41d1fed27ec25489e75d62654e3 Reviewed-on: https://go-review.googlesource.com/c/go/+/189517 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
- 08 Aug, 2019 5 commits
-
-
Jay Conrod authored
modload.ListModules now wraps errors as module.ModuleError as appropriate. The resulting errors always include the module path and will include the version, if known. 'go mod download' no longer ignores errors reported by ListModules. Previously, it started requesting module info, go.mod, and zip. Those requests would fail, overwriting the original failure. They were usually less descriptive. 'go mod download' with a module not in the build list (and no version query) is now an error. Previously, this was silently ignored. Fixes #30743 Change-Id: Icee8c1c6c5240de135a8b6ba42d6bbcdb757cdac Reviewed-on: https://go-review.googlesource.com/c/go/+/189323 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Joe Tsai authored
This reverts CL 162337. Reason for revert: this introduces a regression Fixes #33538 Updates #18929 Change-Id: Ib2320a840c6d3ec7912e8f414e933d04fbf11ab4 Reviewed-on: https://go-review.googlesource.com/c/go/+/189379Reviewed-by: Robert Griesemer <gri@golang.org>
-
Filippo Valsorda authored
These will need auditing per #32813 like a few others in go1.13.txt, but in the meantime they break the API check for beta/RC releases. Updates #32813 Updates #31912 Change-Id: I3b0501b46324ee6fc0985f84971b99b772c7e4a4 Reviewed-on: https://go-review.googlesource.com/c/go/+/189458Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Alberto Donizetti authored
Change-Id: Id0a55674a16671aaee99182d9096a9263f7a80b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/189357Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Derek Phan authored
Change-Id: Ib0ae6e3e678dc7ace21b891e946ffc6bc2a78835 GitHub-Last-Rev: 8c6704ea8c032072ac339dc9d1c6ec78aec15b2a GitHub-Pull-Request: golang/go#33534 Reviewed-on: https://go-review.googlesource.com/c/go/+/189378 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 07 Aug, 2019 1 commit
-
-
David Finkel authored
Document goroutine label inheritance. Goroutine labels are copied upon goroutine creation and there is a test enforcing this, but it was not mentioned in the docstrings for `Do` or `SetGoroutineLabels`. Add notes to both of those functions' docstrings so it's clear that one does not need to set labels as soon as a new goroutine is spawned if they want to propagate tags. Updates #32223 Updates #23458 Change-Id: Idfa33031af0104b884b03ca855ac82b98500c8b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/189317Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 06 Aug, 2019 5 commits
-
-
Jay Conrod authored
In modload.Import, confirm that the import path does not start with "cmd/" before calling QueryPackage, which returns a less helpful error. In load.loadPackageData, don't wrap errors with "unknown import path". The wrapped error should always include the import path, and it's also repeated in the PackageError wrapper. Fixes #31031 Change-Id: I071efa22e3842c62831d096f888a8006811fe724 Reviewed-on: https://go-review.googlesource.com/c/go/+/189157 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Marcel van Lohuizen authored
Fixes #33472 Change-Id: Iab69e69589f2e017f4cf9770858884b1a570c89e Reviewed-on: https://go-review.googlesource.com/c/go/+/188799Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Jay Conrod authored
This mirrors the ELF fix in CL 188957. TestScript/version failed on darwin after that change. Fixes #31861 Change-Id: I4ce953ebec8dd5fa47e26d373c59d7e290b75a34 Reviewed-on: https://go-review.googlesource.com/c/go/+/189159 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bharath Thiruveedula authored
Fixes #33433 Change-Id: Idb3961685a3cfd13ba26155a1d64fc24cc418fdb Reviewed-on: https://go-review.googlesource.com/c/go/+/189117Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jonathan Amsterdam authored
Explain wrapping and how to use Is and As in the package doc. Explain "chain" in Is and As. Updates #33364. Change-Id: Ic06362106dbd129e33dd47e63176ee5355492086 Reviewed-on: https://go-review.googlesource.com/c/go/+/188737Reviewed-by: Rob Pike <r@golang.org>
-
- 05 Aug, 2019 5 commits
-
-
Jonathan Amsterdam authored
A brief description at the top the Standard Library section of the changes to support error wrapping. Fixes #33365. Change-Id: Id5a3b2fe148d9bfb949f2cfc9e5d8a1613a0e219 Reviewed-on: https://go-review.googlesource.com/c/go/+/188798Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
The prototypes were truncated because they were on multiple lines of the source file. Copied from the STD lines for these functions in https://svn.freebsd.org/base/stable/12/sys/kern/syscalls.master Change-Id: I618a5444f1353aabee2758c06f86ad726185d19c Reviewed-on: https://go-review.googlesource.com/c/go/+/188077Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Bryan C. Mills authored
CL 188817 improved the error message for a nonexistent version in a dependency. This CL locks in that improvement in a regression test. Fixes #33474 Change-Id: I6246b4995adee966f24eaebe491d35830aea8370 Reviewed-on: https://go-review.googlesource.com/c/go/+/188977Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
-
Mark Glines authored
Based on original fix from Mark Glines in golang.org/cl/186737 Fixes #31861 Change-Id: Ibd583a3aa8f8b8eefade998aa2ac757b55140937 Reviewed-on: https://go-review.googlesource.com/c/go/+/188957 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Shivani Singhal authored
Fixes #33453. Change-Id: If0aa48f953633690884ddcff033b3be6d1d66443 Reviewed-on: https://go-review.googlesource.com/c/go/+/188541Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
-
- 03 Aug, 2019 1 commit
-
-
Agniva De Sarker authored
Change-Id: I103a21ae0be8feb9447fa277483b7c2a8b5807e7 Reviewed-on: https://go-review.googlesource.com/c/go/+/188540Reviewed-by: Andrew Bonventre <andybons@golang.org> Reviewed-by: Richard Musiol <neelance@gmail.com>
-
- 02 Aug, 2019 8 commits
-
-
Ian Lance Taylor authored
The two methods act the same, so make their documentation similar so that people don't think they act differently. Change-Id: If224692ef50870faf855d789380a614d1e724132 Reviewed-on: https://go-review.googlesource.com/c/go/+/188137Reviewed-by: Rob Pike <r@golang.org>
-
Damien Neil authored
CL #163058 moves interpretation of platform-specific errors to the syscall package. Package syscall errors implement an Is method which os.IsPermission etc. consult. This results in an unintended semantic change to the os package predicate functions: The following program now prints 'true' where it used to print 'false': package main import "os" type myError struct{ error } func (e myError) Is(target error) bool { return target == os.ErrPermission } func main() { println(os.IsPermission(myError{})) } Change the os package error predicate functions to only examine syscall errors, avoiding this semantic change. This CL does retain one minor semantic change: On Plan9, os.IsPermission used to return true for any error with text containing the string "permission denied". It now only returns true for a syscall.ErrorString containing that text. Change-Id: I6b512b1de6ced46c2f1cc8d264fa2495ae7bf9f5 Reviewed-on: https://go-review.googlesource.com/c/go/+/188817 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Ian Lance Taylor authored
Updates #31449 Change-Id: I4d7075b20cd8171bc792e40b388f4215264a3317 Reviewed-on: https://go-review.googlesource.com/c/go/+/188819Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
Bryan C. Mills authored
Fixes #27063 Change-Id: Iedd14fd614a3d79d1387b923a0f123c2bc9e0b33 Reviewed-on: https://go-review.googlesource.com/c/go/+/188763 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
The compiler can crash if the compiled code tries to unconditionally read from a nil pointer. This should cause the generated binary to panic, not the compiler. Fixes #33438 Change-Id: Ic8fa89646d6968e2cc4e27da0ad9286662f8bc49 Reviewed-on: https://go-review.googlesource.com/c/go/+/188760Reviewed-by: Austin Clements <austin@google.com>
-
Emmanuel T Odeke authored
Documents the work from: * CL 163599 * CL 163737 which now uses the Request.Body's io.ReaderFrom implementation, if available, and permits system level optimizations such as "sendfile" to be used to transmit/upload the Body, which greatly speeds up file uploads. Updates #33396 Change-Id: I7b8315c4b3e57ad47bb9be2b0c838857875d4bd5 Reviewed-on: https://go-review.googlesource.com/c/go/+/188457Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Damien Neil authored
It is unclear whether the current definition of os.IsTimeout is desirable or not. Drop ErrTimeout for now so we can consider adding it (or some other error) in a future release with a corrected definition. Fixes #33411 Change-Id: I8b880da7d22afc343a08339eb5f0efd1075ecafe Reviewed-on: https://go-review.googlesource.com/c/go/+/188758Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alberto Donizetti authored
The Effective Go document references the crypto/cipher Block interface, but the parameters' names are swapped. This change alignes them to the crypto definition, to avoid confusion. Fixes #33432 Change-Id: I8b9aac4dc6af3eec968bbc8f3ee5366b99016fcc Reviewed-on: https://go-review.googlesource.com/c/go/+/188797Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 01 Aug, 2019 2 commits
-
-
Baokun Lee authored
There's a race here with fork/exec, enable the close-on-exec flag for the new file descriptor. Fixes #33405 Change-Id: If95bae97a52b7026a930bb3427e47bae3b0032ac Reviewed-on: https://go-review.googlesource.com/c/go/+/188537 Run-TryBot: Baokun Lee <nototon@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Darren McCleary authored
Change-Id: I33a5313ef10e8c88d9c12507573b385fa0843afe GitHub-Last-Rev: 844d4351583e3f2e94d6420dcd50d50845d1b4cb GitHub-Pull-Request: golang/go#33412 Reviewed-on: https://go-review.googlesource.com/c/go/+/188498Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
-