- 26 Aug, 2016 2 commits
-
-
Mikio Hara authored
Change-Id: Idffb7eace4d7913e7dfad2715d10dcd1762f83e4 Reviewed-on: https://go-review.googlesource.com/27733 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
This change introduces an internal package that provides the manipulation of net package facilities by using runtime reflection. The package is supposed to be used by ipv4 and ipv6 packages. Change-Id: I73ec3b7d3762e675ca03ad9ee5e8a68e75ceb997 Reviewed-on: https://go-review.googlesource.com/27732 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 25 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
Fixes golang/go#16847 Change-Id: I1e6ae1e0746051fd4cf7afc9beae7853293d5b68 Reviewed-on: https://go-review.googlesource.com/27632Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 19 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
The mod_h2 workaround CL (git rev 28d1bd4f, https://golang.org/cl/25362) introduced a regression where the Transport could write two DATA frames, both with END_STREAM, if the Request.Body returned (non-0, io.EOF). strings.Reader, bytes.Reader are the most common Reader types used with HTTP requests and they only return (0, io.EOF) so we got generally lucky and things seemed to work, but other Readers do return (non-0, io.EOF), like the HTTP transport/server Readers. This is why we broke the HTTP proxy code, when proxying to HTTP/2. Updates golang/go#16788 (fixes after it's bundled into std) Change-Id: I42684017039eacfc27ee53e9c11431f713fdaca4 Reviewed-on: https://go-review.googlesource.com/27406 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 11 Aug, 2016 1 commit
-
-
Volker Dobler authored
Update the list to revision 533b016049473e520193e70156e4b54dc1f19568 (2016-08-05T11:21:15Z). Change-Id: Ic79e83245a86a0c27ac855479073be41c970c527 Reviewed-on: https://go-review.googlesource.com/26851Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
- 05 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
The http2 spec says: > When the value of SETTINGS_INITIAL_WINDOW_SIZE changes, a receiver > MUST adjust the size of all stream flow-control windows that it > maintains by the difference between the new value and the old value. We didn't do this before, and it never mattered until https://golang.org/cl/25362 for golang/go#16519 because we always knew the peer's initial window size. Once we started writing request bodies before hearing the peer's setting (and thus assuming 64KB), it became very important that this TODO was done. Should've done it earlier. More details in the bug. Updates golang/go#16612 (fixes after bundle into std) Change-Id: I0ac0280bdd5f6e933ad82f8c9df3c4528295bac2 Reviewed-on: https://go-review.googlesource.com/25508Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 04 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
Change-Id: Ic37b6b84bfc695cfb1ca7cf8e7da52c801e6d236 Reviewed-on: https://go-review.googlesource.com/25500Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 03 Aug, 2016 2 commits
-
-
Brad Fitzpatrick authored
For debugging golang/go#16514 Change-Id: I8aa5706eef4e9b4104cab391172b8919601ebf3a Reviewed-on: https://go-review.googlesource.com/25440Reviewed-by: Chris Broadfoot <cbro@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
If the Transport got a stream error on the response headers, it was never unblocking the client. Previously, Response.Body reads would be aborted with the stream error, but RoundTrip itself would never unblock. The Transport now also sends a RST_STREAM to the server when we encounter a stream error. Also, add a "Cause" field to StreamError with additional detail. The old code was just returning the detail, without the stream error header. Fixes golang/go#16572 Change-Id: Ibecedb5779f17bf98c32787b68eb8a9b850833b3 Reviewed-on: https://go-review.googlesource.com/25402 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 02 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
To help debug golang/go#16572 Change-Id: Ia154faedd243a06a4110f6e6a4885b7cd0a04e1f Reviewed-on: https://go-review.googlesource.com/25401Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 01 Aug, 2016 2 commits
-
-
Brad Fitzpatrick authored
The http2 server implementation in Apache (mod_http2, aka mod_h2) had a bug where it didn't reply to the initial SETTINGS frame until it had received a request. Apache 2.4.17 was the first Apache version to include mod_http2 and has the bug. The bug was fixed 20 days ago (https://github.com/apache/httpd/commit/de4e3031aeb9775d2ebb9c917ecb1117c12d05f8) for Apache 2.5.0 and included in the out-of-tree mod_h2 1.5.12 (https://github.com/icing/mod_h2/releases/tag/v1.5.12) but most Apache sites are running older versions making them incompatible with Go's client. (At least Debian Stretch and Ubuntu Xenial, currently.) Chrome, curl, Firefox et al don't wait for the initial SETTINGS response & ACK before sending their first request, which is why mod_http2 didn't notice their bug for some time. This change makes Go's http2.Transport act like other common HTTP/2 clients and not wait for the peer's SETTINGS frame & ACK before sending the first request. As a bonus, this reduces the latency for the first request on connections by one RTT. The reason we waited for the initial settings is purely historical. Andrew and I just wrote it that way when initially developing the client on video (https://www.youtube.com/watch?v=yG-UaBJXZ80) because we were working top-down through the protocol and didn't get back to optimizing the RTT away. It also seemed more compliant to wait for the peer's SETTINGS to know the frame size and such, but as as spec says, it's permitted for clients to not wait: http://httpwg.org/specs/rfc7540.html#rfc.section.3.5 > To avoid unnecessary latency, clients are permitted to send > additional frames to the server immediately after sending the client > connection preface, without waiting to receive the server connection > preface. It is important to note, however, that the server > connection preface SETTINGS frame might include parameters that > necessarily alter how a client is expected to communicate with the > server. Upon receiving the SETTINGS frame, the client is expected to > honor any parameters established. In some configurations, it is > possible for the server to transmit SETTINGS before the client sends > additional frames, providing an opportunity to avoid this issue. So, don't wait. Fixes golang/go#16519 Change-Id: I916827e49829f7f107a51838512816916fb553fc Reviewed-on: https://go-review.googlesource.com/25362Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
http://httpwg.org/specs/rfc7540.html#rfc.section.6.1 says: > The entire DATA frame payload is included in flow control, including > the Pad Length and Padding fields if present. But we were just ignoring the padding and pad length, which could lead to clients and servers getting out of sync and deadlock if peers used padding. (Go never does, so it didn't affect Go<->Go) In the process, fix a lingering bug from golang/go#16481 where we didn't account for flow control returned to peers in the stream's inflow, despite sending the peer a WINDOW_UPDATE. Fixes golang/go#16556 Updates golang/go#16481 Change-Id: If7150fa8f0da92a60f34af9c3f754a0346526ece Reviewed-on: https://go-review.googlesource.com/25382 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 26 Jul, 2016 2 commits
-
-
Brad Fitzpatrick authored
For both the server and the transport, return connection-level flow control in two cases: 1) when a stream is closed with buffered data not read by the user, or 2) when a DATA frame arrives but there the stream has since been closed. Fixes golang/go#16481 Change-Id: Ic7404180ed04a2903e8fd6e9599a907f88b4f72e Reviewed-on: https://go-review.googlesource.com/25231Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Brad Fitzpatrick authored
NewClientConn starts a goroutine (which reads cc.singleUse at start), so it's not safe to set cc.singleUse after calling NewClientConn. Change-Id: I5c28db15e8e8fd8ec5ef0e04b7f81e61efbd873e Reviewed-on: https://go-review.googlesource.com/25230Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 20 Jul, 2016 1 commit
-
-
Mikio Hara authored
Fixes golang/go#16438. Change-Id: I2a97e57cae298e8eecdd5637c9e03493a449fc62 Reviewed-on: https://go-review.googlesource.com/25070 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 17 Jul, 2016 2 commits
-
-
Brad Fitzpatrick authored
Fixes flakes like: https://build.golang.org/log/56e0561f9f6a740b75538692a1c3288f08949dd0 I reproduced the flake above with a time.Sleep(50 * time.Millisecond) before ClientConn.RoundTrip's final for{select{...}} loop (to give multiple channels time to become readable on the first select), and then ran (on linux/amd64) with: go test -v -run=TestTransportReqBodyAfterResponse_403 -count=50 -race Before, many failed. With this CL it never fails. (crosses fingers) Fixes golang/go#16102 (again) Change-Id: I93fde46846cd09445e53c140e9668382965d95c5 Reviewed-on: https://go-review.googlesource.com/24984 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Both "Connection: close" and Request.Close should mean the same thing: to use the same connection. The Request.Close case was fixed in https://golang.org/cl/24810 for Request.Close but I forgot about "Connection: close". Unify the code. Fixes flaky failures such as: https://storage.googleapis.com/go-build-log/6adb97bd/freebsd-amd64-gce101_5c331c2a.log (noticed by Ian on a https://golang.org/cl/24977 trybot run) Updates golang/go#15612 Change-Id: I3ab5175b8bc528ee240370c906b00cc691651bb4 Reviewed-on: https://go-review.googlesource.com/24982Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 16 Jul, 2016 1 commit
-
-
Ian Lance Taylor authored
This preserves the promise that Do will return the context's error. Fixes golang/go#16381 Change-Id: I0db49b175736a695199b38819b4ff97b83d9c5ed Reviewed-on: https://go-review.googlesource.com/24977 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 15 Jul, 2016 1 commit
-
-
Brad Fitzpatrick authored
The test's server was replying with the stream closure before reading the test client's request body. This should in theory be handled better (and golang/go#16029 will be kept open to track it), but that's not what this test was trying to test anyway. Instead, make the test do things in the expected order so it can continue to test its original subject reliably. (It was trying to test all the orders of optional & optionally fragmented headers in responses.) Updates golang/go#16029 (flaky http2 TestTransportResPattern_*) Updates golang/go#11811 (subrepos need to be green) Change-Id: I631730fce5dad598120bb2d1ea8895e39255d711 Reviewed-on: https://go-review.googlesource.com/24970Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 13 Jul, 2016 2 commits
-
-
Brad Fitzpatrick authored
The old support for Request.Close was optimistic, but there were still windows where two connections should share the same connection. Instead, support it earlier and more explicitly. This fixes a flaky test on FreeBSD which was probably only flaky due to unfortunate scheduling/timing. Change-Id: I2eed9e59116356257e1b7df7a034b1c5d5f6533a Reviewed-on: https://go-review.googlesource.com/24810 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Removes a time.Sleep from a test. Fixes golang/go#16102 Change-Id: Ic1079ad3312d2dcfde4cc16dd0ee9661e1e509f2 Reviewed-on: https://go-review.googlesource.com/24903Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
- 07 Jul, 2016 2 commits
-
-
Brad Fitzpatrick authored
Change-Id: Ib174b984184191d803364c684070346a105ef4b5 Reviewed-on: https://go-review.googlesource.com/24620Reviewed-by: Chris Broadfoot <cbro@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Dave Day <djd@golang.org>
-
Nigel Tao authored
Also drop some leading zeroes in in the generated table.go file. Its size drops from 140K to 124K. After gzipping, this is from 46K to 45K. It's not a huge win, but it's a win. Change-Id: Ib1c13fb8b58b4eca231b5d74c15297f245c62e7c Reviewed-on: https://go-review.googlesource.com/24753Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 30 Jun, 2016 1 commit
-
-
Jonathan Rudenberg authored
TLS_RSA_WITH_AES_128_GCM_SHA256 and TLS_RSA_WITH_AES_256_GCM_SHA384 are also blacklisted in RFC 7540 Appendix A. Because they are were implemented in Go 1.6, the isBadCipher function has been moved into the version-tagged files so that the repo doesn't break for Go 1.5 users. Change-Id: If8ca058ede51e9a4a337ce8d645cfd9f370d49b4 Reviewed-on: https://go-review.googlesource.com/24214Reviewed-by: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 29 Jun, 2016 1 commit
-
-
Brad Fitzpatrick authored
The http2 spec permits multiple GOAWAY frames if the conditions change. Merge their error messages together, preferring the first non-empty debug data, and first non-ErrCodeNo error code. Updates golang/go#14627 Change-Id: I073b9234d71f128ed0713f09a24c728b56d7c1ae Reviewed-on: https://go-review.googlesource.com/24600 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 28 Jun, 2016 1 commit
-
-
Brad Fitzpatrick authored
Updates golang/go#14627 (fixes once bundled into std) Change-Id: Iae91d165df749e06549a25f9664ee416f115573f Reviewed-on: https://go-review.googlesource.com/24560Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 27 Jun, 2016 3 commits
-
-
Michael Hudson-Doyle authored
Change-Id: Ibcb2fbb6a016046dd67e92372376f0f639979e37 Reviewed-on: https://go-review.googlesource.com/24484Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Change-Id: I06f6ade2788e8cc86d3027af60ec33800092a6d1 Reviewed-on: https://go-review.googlesource.com/24485Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
-
Michael Hudson-Doyle authored
Change-Id: I1e81ca4bd1396b4ddd0c8eb7368ebceb99409318 Reviewed-on: https://go-review.googlesource.com/24486Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
-
- 21 Jun, 2016 1 commit
-
-
Gyu-Ho Lee authored
This fixes a minor typo in frame.go ReadFrame. Change-Id: Idb6d4d412a6bc27fa8afb6f03007e974cd98d0c9 Reviewed-on: https://go-review.googlesource.com/24310 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
- 20 Jun, 2016 1 commit
-
-
Matt Layher authored
Change-Id: I29487b0c1fdea97b5c35d22b4f7c23e11e7ceeed Reviewed-on: https://go-review.googlesource.com/24272Reviewed-by: David Anderson <danderson@google.com> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
-
- 19 Jun, 2016 1 commit
-
-
Mikio Hara authored
Change-Id: I5b865483bf6a8bba07934ae3b1ff5bbbf6dd6a00 Reviewed-on: https://go-review.googlesource.com/24240Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Tom Heng <zhm20070928@gmail.com> Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
-
- 18 Jun, 2016 1 commit
-
-
Matt Layher authored
Fixes golang/go#16055. Change-Id: I80437e2895b0f2bf23e090dec29bd20c2900db9a Reviewed-on: https://go-review.googlesource.com/24136Reviewed-by: David Anderson <danderson@google.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
- 16 Jun, 2016 1 commit
-
-
Nigel Tao authored
Fixes golang/go#15967. Change-Id: I24ffebbe70d15cfd8697c843972f4f1669670f17 Reviewed-on: https://go-review.googlesource.com/24023Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 09 Jun, 2016 1 commit
-
-
Nigel Tao authored
Also follow the "go generate" convention, and have the generation command be a bare "go run gen.go" without any need for explicit flags. Stripping the for-debugging comments shrinks the generated table.go file from 538K to 139K. Also update table to latest list from publicsuffix.org: revision ea9f4f9c51f5bfc5c85a41a5637ab671c07c542a (2016-05-31T18:30:56Z) Change-Id: Ib59366106e0142fd65a2102e73d6a9a29e53930e Reviewed-on: https://go-review.googlesource.com/23930Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 08 Jun, 2016 1 commit
-
-
Mikio Hara authored
Fixes golang/go#15999. Change-Id: I20793ce717c768557c4942ff6be4e77c23ab201c Reviewed-on: https://go-review.googlesource.com/23880 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
- 07 Jun, 2016 1 commit
-
-
Andrew Gerrand authored
Fixes golang/go#15930 Change-Id: Ib5d2f57361d52364edb29df25ec9a498c3088781 Reviewed-on: https://go-review.googlesource.com/23812Reviewed-by: Aaron Jacobs <jacobsa@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
- 31 May, 2016 2 commits
-
-
Tom Bergan authored
Fixes golang/go#15777 Change-Id: I6fd8a8fdea051f3c02272cc15af7f0bcdfb5d745 Reviewed-on: https://go-review.googlesource.com/23526Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
-
Dave Cheney authored
The contract for Read specifies that a caller should process n bytes of data before handling an error value. The previous implementation may have discarded the final data read from the underlying reader if err was non nil. Change-Id: I81547cd9ea62c4060f79523679beed6bbc6ccd95 Reviewed-on: https://go-review.googlesource.com/23534Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 27 May, 2016 1 commit
-
-
H. İbrahim Güngör authored
WebDAV clients can't sort folders by date because 'getlastmodified' live property is not set. Fixes golang/go#15334. Change-Id: Ie56fcf8ae98173878e0972c0f9401151953334ff Reviewed-on: https://go-review.googlesource.com/23422Reviewed-by: Nigel Tao <nigeltao@golang.org>
-