- 06 Dec, 2017 11 commits
-
-
Russ Cox authored
Change-Id: Id6ced9a6c76131263041cdaf5ed17479be075fa6 Reviewed-on: https://go-review.googlesource.com/82075 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Tobias Klauser authored
Change-Id: If16f069f410d043fd11864a4c1a7d54b5b4922d2 Reviewed-on: https://go-review.googlesource.com/82200Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
There are some basic tests in the packages implementing the hashes, but this one is meant to be comprehensive for the standard library as a whole. Most importantly, it locks in the current representations and makes sure that they do not change from release to release (and also, as a result, that future releases can parse the representations generated by older releases). The crypto/* MarshalBinary implementations are being changed in this CL to write only d.x[:d.nx] to the encoding, with zeros for the remainder of the slice d.x[d.nx:]. The old encoding wrote the whole d.x, but that exposed an internal detail: whether d.x is cleared after a full buffer is accumulated, and also whether d.x was used at all for previous blocks (consider 1-byte writes vs 1024-byte writes). The new encoding writes only what the decoder needs to know, nothing more. In fact the old encodings were arguably also a security hole, because they exposed data written even before the most recent call to the Reset method, data that clearly has no impact on the current hash and clearly should not be exposed. The leakage is clearly visible in the old crypto/sha1 golden test tables also being modified in this CL. Change-Id: I4e9193a3ec5f91d27ce7d0aa24c19b3923741416 Reviewed-on: https://go-review.googlesource.com/82136 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Russ Cox authored
String method comments should explain what they do, not that they are attempting to implement fmt.Stringer. Change-Id: If51dd1ff2f0c2f9ef9dca569bfa0c3914be2e8fe Reviewed-on: https://go-review.googlesource.com/82081 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
The docs make it seem like they are all things a single object would implement. That's true of Driver and DriverContext, but Connector is really something else. Attempt to clarify. Change-Id: I8fdf1cff855a0fbe37ea22720c082045c719a267 Reviewed-on: https://go-review.googlesource.com/82082 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
-
Ian Lance Taylor authored
Updates #22961 Change-Id: Ib2f41aefb4f6470598d8637611da5491156ea840 Reviewed-on: https://go-review.googlesource.com/82015Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Go 1.10 is adding new API MarshalPKCS1PublicKey and ParsePKCS1PublicKey for converting rsa.PublicKeys. Even though we'd prefer that users did not, check that if users call asn1.Marshal and asn1.Unmarshal directly instead, they get the same results. We know that code exists in the wild that depends on this. Change-Id: Ia385d6954fda2eba7da228dc42f229b6839ef11e Reviewed-on: https://go-review.googlesource.com/82080 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Originally these routines could not fail except by returning errors from the underlying writer. Then we realized that header keys containing colons needed to be rejected, and we started returning an error from Encode. But that only happens after writing a partial PEM block to the underlying writer, which is unfortunate, but at least it was undocumented. CL 77790 then documented this unfortunate behavior. Instead of documenting unfortunate behavior, fix it. Change-Id: Ic7467a576c4cecd16a99138571a1269cc4f96204 Reviewed-on: https://go-review.googlesource.com/82076 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
They do not convert a plural into a singular. (Introduced recently, in CL 77050.) Change-Id: I3b6c4d03b1866d4133e90b8ab05e8d4bfbd55125 Reviewed-on: https://go-review.googlesource.com/82078 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
The new example is shorter but illustrates the interesting parts of the Unix function and methods. Change-Id: Ief8ec38909d4ed7829e8d3da58e7b7f712537f99 Reviewed-on: https://go-review.googlesource.com/82079 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Historically, DetectContentType has returned "text/plain; charset=utf-8" for an empty body, there was a test for this, and there should continue to be one. CL 46631 changed the content-serving handlers to avoid setting any Content-Type header when serving empty content. Even if that change in behavior is correct, the CL is explicitly not changing DetectContentType, so it must also not change DetectContentType's tests. Change-Id: I7a19c9fabb43be47e349b40e729e49fceb3f2894 Reviewed-on: https://go-review.googlesource.com/82077 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 05 Dec, 2017 8 commits
-
-
Joe Tsai authored
This fixes a regression where only CRLF was folded into LF at EOF. Now, we also truncate trailing CR at EOF to preserve the old behavior. Every one of the test cases added exactly matches the behavior of Go1.9, even if the results are somewhat unexpected. Fixes #22937 Change-Id: I1bc6550533163ae489ea77ec1e598163267b7eec Reviewed-on: https://go-review.googlesource.com/81577 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Joe Tsai authored
The previous implementation of net.Pipe was just a thin wrapper around io.Pipe and did not wrap any of the io.Pipe errors as net.Errors. As a result of Hyrum's law, users have come to depend on the fact that net.Pipe returns io.ErrClosedPipe when the pipe is closed. Thus, we preserve this behavior to avoid regressing such use cases. Change-Id: I06b387877b944c1c08527601f58983872b7557b4 Reviewed-on: https://go-review.googlesource.com/81777 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Sometimes people use run.bash repeatedly or run go tool dist test by hand for cgo tests. Avoid test caching in that case, by request. Refactor code so that all go test commands share a common prefix. If not caching is problematic it will be a one-line change to turn caching back on. Fixes #22758. Change-Id: I17d721b832d97bffe26629d21f85b05dbbf2b3ec Reviewed-on: https://go-review.googlesource.com/80735 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tim Heckman authored
Fixes #23002 Change-Id: I87e72833757497aff49117dd40629cb7ec49e6e7 Reviewed-on: https://go-review.googlesource.com/81955Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
christopher-henderson authored
There are, unfortunately, intermediate CA ceritificates in circulation that contain the invalid character '&' in some PrintableString fields, notably Organization Name. This patch allows for ampersand to be parsed as though it is valid in an ASN.1 PrintableString. Fixes #22970 Change-Id: Ifab1a10bbff1cdac68e843c6b857ff1a031051aa Reviewed-on: https://go-review.googlesource.com/81635Reviewed-by: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
kirk authored
When the user context which passed in (*DB)BeginTx is canceled or timeout, the current implementation could cause db transaction leak in some extreme scenario. Goroutine 1: Call (*DB) BeginTx begins a transaction with a userContext. In (*DB)BeginTx, a new goroutine (*Tx)awaitDone which monitor context and rollback tx if needed will be created Goroutine 2(awaitDone): block on tx.ctx.Done() Goroutine 1: Execute some insert or update sqls on the database Goroutine 1: Commit the transaction, (*Tx)Commit set the atomic variable tx.done to 1 Goroutine 3(maybe global timer): Cancel userContext which be passed in Tx Goroutine 1: (*Tx)Commit checks tx.ctx.Done(). Due to the context has been canceled, it will return context.Canceled or context.DeadlineExceeded error immediately and abort the real COMMIT operation of transaction Goroutine 2: Release with tx.ctx.Done() signal, execute (*Tx)rollback. However the atomic variable tx.done is 1 currently, it will return ErrTxDone error immediately and abort the real ROLLBACK operation of transaction Fixes #22976 Change-Id: I3bc23adf25db823861d91e33d3cca6189fb1171d Reviewed-on: https://go-review.googlesource.com/81736 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
-
Keith Randall authored
Make sure that when we're assigning to a map, we evaluate the right-hand side before we attempt to insert into the map. We used to evaluate the left-hand side to a pointer-to-slot-in-bucket (which as a side effect does len(m)++), then evaluate the right-hand side, then do the assignment. That clearly isn't correct when the right-hand side might panic. Fixes #22881 Change-Id: I42a62870ff4bf480568c9bdbf0bb18958962bdf0 Reviewed-on: https://go-review.googlesource.com/81817Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Christos Zoulas authored
Fixes #22981 Change-Id: I449eb7b5e022401e80a3ab138063e2f4499fbdf8 Reviewed-on: https://go-review.googlesource.com/81855Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 04 Dec, 2017 8 commits
-
-
Keith Randall authored
Turn off append-to-itself optimization if optimizations are turned off. This optimization triggered a bug when doing s = append(s, s) where we write to the leftmost s before reading the rightmost s. Update #17039 Change-Id: I21996532d20a75db6ec8d49db50cb157a1360b80 Reviewed-on: https://go-review.googlesource.com/81816 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Duplicate cmd/compile check into cmd/go. Manually tested that "GOEXPERIMENT=fieldtrack make.bash" passes now. Updates #22223. Change-Id: I441970a8a5ad4aadf5bd4fbd4d6cc71847b43308 Reviewed-on: https://go-review.googlesource.com/81776 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
This test was added recently as a regress test for the spec relaxation in #9060, but doesn't work correctly yet. Disable for now to fix noopt builders. Updates #22444. Change-Id: I45c521ae0da7ffb0c6859d6f7220c59828ac6149 Reviewed-on: https://go-review.googlesource.com/81775 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Than McIntosh authored
The DWARF inline info generation hooks weren't properly handling unused auto vars in certain cases, triggering an assert (now fixed). Also with this change, introduce a new autom "flavor" to use for autom entries that are added to insure that a specific auto type makes it into the linker (this is a follow-on to the fix for 22941). Fixes #22962. Change-Id: I7a2d8caf47f6ca897b12acb6a6de0eb25f5cac8f Reviewed-on: https://go-review.googlesource.com/81557 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Elias Naur authored
The iOS test harness dumps the output of its lldb session to stdout, but only if the lldb session was successfully started. Make sure the log is always dumpede, so that lldb startup failures such as lldb setup error: exited (lldb start: exit status 253) can be diagnosed. For the iOS builders. Change-Id: Ie0e3341dd8f84a88d26509c34816668d3ebbfaa0 Reviewed-on: https://go-review.googlesource.com/76195 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
Russ Cox authored
The whole GOROOT/pkg tree is installed using the GOHOSTOS/GOHOSTARCH toolchain (installed in GOROOT/pkg/tool/GOHOSTOS_GOHOSTARCH). The testgo.exe we run during the cmd/go test will be built for GOOS/GOARCH, which means it will use the GOOS/GOARCH toolchain (installed in GOROOT/pkg/tool/GOOS_GOARCH). If these are not the same toolchain, then the entire standard library will look out of date to testgo.exe (the compilers in those two different tool directories are built for different architectures and have different buid IDs), which will cause many tests to do unnecessary rebuilds and some tests to attempt to overwrite the installed standard library, which will in turn make it look out of date to whatever runs after the cmd/go test exits. Bail out entirely in this case instead of destroying the world. The changes outside TestMain are checks that might have caught this a bit earlier and made it much less confusing to debug. Fixes #22709. Fixes #22965. Change-Id: Ibf28fa19e29a1f1b8f17875f446d3474dd04a924 Reviewed-on: https://go-review.googlesource.com/81516 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
If we're using -covermode=atomic with -coverpkg, to add coverage to more than just the package being tested, then we need to make sure to make sync/atomic available to the compiler for every package being recompiled for coverage. Fixes #22728. Change-Id: I27f88f6a62e37d4a7455554cd03c8ca2b21f81a4 Reviewed-on: https://go-review.googlesource.com/81497 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Christos Zoulas authored
This change updates runtime.semasleep to no longer call runtime.nanotime and instead calls lwp_park with a duration to sleep relative to the monotonic clock, so the nanotime is never called. (This requires updating to a newer version of the lwp_park system call, which is safe, because Go 1.10 will require the unreleased NetBSD 8+ anyway) Additionally, this change makes the nanotime function use the monotonic clock for netbsd/arm, which was forgotten from https://golang.org/cl/81135 which updated netbsd/amd64 and netbsd/386. Because semasleep previously depended on nanotime, the past few days of netbsd have likely been unstable because lwp_park was then mixing the monotonic and wall clocks. After this CL, lwp_park no longer depends on nanotime. Original patch submitted at: https://www.netbsd.org/~christos/go-lwp-park-clock-monotonic.diff This commit message (any any mistakes therein) were written by Brad Fitzpatrick. (Brad migrated the patch to Gerrit and checked CLAs) Updates #6007 Fixes #22968 Also updates netbsd/arm to use monotonic time for Change-Id: If77ef7dc610b3025831d84cdfadfbbba2c52acb2 Reviewed-on: https://go-review.googlesource.com/81715 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 02 Dec, 2017 2 commits
-
-
Brad Fitzpatrick authored
Note that Interrupt will compile but not work on Windows. Fixes #22454 Change-Id: If011c32211f4bb45d458317e113b9794d5b4a4b1 Reviewed-on: https://go-review.googlesource.com/81035Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
The full truth seems too complicated to write in this method's doc, so I'm going with a simple half truth. The full truth is that Fd returns the descriptor in blocking mode, because that is historically how it worked, and existing programs would be surprised if the descriptor is suddenly non-blocking. On Unix systems whether a file is non-blocking or not is a property of the underlying file description, not of a particular file descriptor, so changing the returned descriptor to blocking mode also changes the existing File to blocking mode. Blocking mode works fine, althoug I/O operations now take up a thread. SetDeadline and friends rely on the runtime poller, and the runtime poller only works if the descriptor is non-blocking. So it's correct that calling Fd disables SetDeadline. The other half of the truth is that if the program is willing to work with a non-blocking descriptor, it could call syscall.SetNonblock(descriptor, true) to change the descriptor, and the original File, to non-blocking mode. At that point SetDeadline would start working again. I tried to write that in a way that is short and comprehensible but failed. Since deadlines mostly work on pipes, and there isn't much reason to call Fd on a pipe, and few people use SetDeadline, I decided to punt. Fixes #22934 Change-Id: I2e49e036f0bcf71f5365193831696f9e4120527c Reviewed-on: https://go-review.googlesource.com/81636Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 01 Dec, 2017 11 commits
-
-
Ian Lance Taylor authored
Fixes #22958 Change-Id: Ib078a5f6e1105a2afca77c6d9a05f65ddf5d9010 Reviewed-on: https://go-review.googlesource.com/81435 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com>
-
Brad Fitzpatrick authored
That Parse doesn't parse ("foo.com/path" or "foo.com:443/path") has become something of a FAQ. Updates #19779 Updates #21415 Updates #22955 Change-Id: Ib68efddb67f59b1374e8ed94effd4a326988dee7 Reviewed-on: https://go-review.googlesource.com/81436Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Simply choose an extremely unlikely path name in the test is fine. Fixes #21013. Change-Id: I56c0a1986b5ef5d618c7fe2b14701f584fe81c37 Reviewed-on: https://go-review.googlesource.com/81578 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Austin Clements authored
MAP_ANON is the deprecated but more portable spelling of MAP_ANONYMOUS. Use MAP_ANON to un-break the Darwin 10.10 builder. Updates #22930. Change-Id: Iedd6232b94390b3b2a7423c45cdcb25c1a5b3323 Reviewed-on: https://go-review.googlesource.com/81615 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Fixes #21724 Change-Id: I92571bf228781b17fdf012a2fb52a597c877cefe Reviewed-on: https://go-review.googlesource.com/81576 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tom Bergan <tombergan@google.com>
-
Russ Cox authored
The test binaries accept -timeout=0 to mean no timeout, but then the backup timer in cmd/go kills the test after 1 minute. Make cmd/go understand this special case and change behavior accordingly. Fixes #14780. Change-Id: I66bf517173a4ad21d53a5ee88d163f04b8929fb6 Reviewed-on: https://go-review.googlesource.com/81499 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Also be clear that go test output is not suitable for piping into test2json. Fixes #22710. Fixes #22789. Change-Id: I3d850c8a2288be7f9a27d638bbf847cb8707dcce Reviewed-on: https://go-review.googlesource.com/81555 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
1. Apply JSON conversion when -bench is in use. 2. Apply JSON conversion to "no test files" result. 3. Apply JSON conversion to test case-ending SKIP status. Fixes #22769. Fixes #22790. Change-Id: I67ad656fc58bacae8c51d23b1e6d543cad190f08 Reviewed-on: https://go-review.googlesource.com/81535 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
The cover variable indices could vary from build to build, but they were not included in the build ID hash, so that reusing the previously built package was not safe. Make the indices no longer vary from build to build, so that caching is safe. Fixes #22652. Change-Id: Ie26d73c648aadd285f97e0bf39619cabc3da54f2 Reviewed-on: https://go-review.googlesource.com/81515 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
For Go 1.10, works around a go/types bug that can't typecheck a corner-case type cycle. Once we are confident that bugs like this are gone from go/types then we can stop ignoring these failures. For #22890. Change-Id: I38da57e01a0636323e1af4484c30871786125df3 Reviewed-on: https://go-review.googlesource.com/81500 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Earlier versions of Go were not very picky about leading spaces in the -gcflags values. Make the new pattern-enhanced parser equally lax. Fixes #22943. Change-Id: I5cf4d3e81412e895a4b52af325853ed48d0b73f4 Reviewed-on: https://go-review.googlesource.com/81498 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-