1. 31 Oct, 2016 26 commits
  2. 30 Oct, 2016 10 commits
  3. 29 Oct, 2016 4 commits
    • Joe Tsai's avatar
      compress/gzip: only encode MTIME if it is valid · b4e714e5
      Joe Tsai authored
      The GZIP format records the ModTime as an uint32 counting seconds since
      the Unix epoch. The zero value is explicitly defined in section 2.3.1
      as meaning no timestamp is available.
      
      Currently, the Writer always encodes the ModTime even if it is the zero
      time.Time value, which causes the Writer to try and encode the value
      -62135596800 into the uint32 MTIME field. This causes an overflow and
      results in our GZIP files having MTIME fields indicating a date in 2042-07-13.
      
      We alter the Writer to only encode ModTime if the value does not underflow
      the MTIME field (i.e., it is newer than the Unix epoch). We do not attempt
      to fix what happens when the timestamp overflows in the year 2106.
      
      We alter the Reader to only decode ModTime if the value is non-zero.
      There is no risk of overflowing time.Time when decoding.
      
      Fixes #17663
      
      Change-Id: Ie1b65770c6342cd7b14aeebe10e5a49e6c9eb730
      Reviewed-on: https://go-review.googlesource.com/32325Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      b4e714e5
    • Brad Fitzpatrick's avatar
      net/http: update bundled http2 for IdleTimeout config sync change · 4b130f92
      Brad Fitzpatrick authored
      Updates http2 to x/net git rev 76c1a11e for:
      
           http2: initialize Server.IdleTimeout from http.Server as http1 does
           https://golang.org/cl/32230
      
           http2: change how Server.IdleTimeout is initialized from http.Server
           https://golang.org/cl/32323
      
      Fixes #14204
      
      Change-Id: I099f89fcd0d8bc0e42da163ae0a3b786fd81292f
      Reviewed-on: https://go-review.googlesource.com/32322
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4b130f92
    • Russ Cox's avatar
      cmd/go: test fixes dropped from CL 31821 · 5552d08b
      Russ Cox authored
      Because git.
      
      Change-Id: Ia1e7c6ba0e8c4d47f993487d2483cbb213b465e5
      Reviewed-on: https://go-review.googlesource.com/32351
      Run-TryBot: Russ Cox <rsc@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      5552d08b
    • Russ Cox's avatar
      cmd/link: fix -X importpath.name=value when import path needs escaping · 1773cdd0
      Russ Cox authored
      After the final slash, dots are %-escaped when constructing a symbol name,
      so that in the actual symbol table, the import path githost.com/my.git
      becomes githost.com/my%2egit. In this case, -X githost.com/my.git.Value=foo
      needs to set githost.com/my%2egit.Value. This is a detail of the object format
      and not something users should know or depend on, so apply the escaping
      as needed.
      
      People who have run across this already and figured out and started using
      the escaped forms with -X will find those forms not working anymore.
      That is, -X githost.com/my%2egit.Value=foo is the Go 1.7 workaround but
      will stop working in Go 1.8 once this proper fix is in place.
      People who need to keep scripts working with older and newer versions of Go
      can safely pass both forms, and one will be ignored:
      
          -X githost.com/my%2egit.Value=foo -X githost.com/my.git.Value=foo
      
      Fixes #16710.
      
      Change-Id: I0e994ccdd412a4eb8349fefce9aeb3bfc9a83cd8
      Reviewed-on: https://go-review.googlesource.com/31970
      Run-TryBot: Russ Cox <rsc@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      1773cdd0