1. 07 Apr, 2016 1 commit
  2. 06 Apr, 2016 1 commit
  3. 05 Apr, 2016 2 commits
  4. 03 Apr, 2016 1 commit
  5. 31 Mar, 2016 3 commits
  6. 28 Mar, 2016 5 commits
  7. 25 Mar, 2016 1 commit
  8. 24 Mar, 2016 1 commit
  9. 22 Mar, 2016 2 commits
  10. 21 Mar, 2016 1 commit
  11. 20 Mar, 2016 1 commit
  12. 15 Mar, 2016 1 commit
  13. 10 Mar, 2016 1 commit
  14. 09 Mar, 2016 2 commits
  15. 06 Mar, 2016 1 commit
  16. 05 Mar, 2016 1 commit
    • Jacob Hoffman-Andrews's avatar
      publicsuffix: Make gen.go faster. · 08f168e5
      Jacob Hoffman-Andrews authored
      Previously this took 20 minutes, now it takes 2-4 seconds.
      
      Changes:
      
       - Iterate over prefix length, from longest to shortest.
       - Build a map of prefixes and reuse it to avoid one loop.
       - When removing simple substrings, sort by length and only consider strings
         long enough to be worth checking. Saves 600ms out of 800ms.
       - Removed the option to generate uncrushed table.
       - Fix an unhandled error in n.walk(w, assignIndexes)
      
      Change-Id: I321d2c2bd18f4918479500f3c61d5e59ee173f3d
      Reviewed-on: https://go-review.googlesource.com/20029Reviewed-by: 's avatarNigel Tao <nigeltao@golang.org>
      08f168e5
  17. 04 Mar, 2016 1 commit
  18. 25 Feb, 2016 2 commits
  19. 23 Feb, 2016 3 commits
    • Dmitri Shuralyov's avatar
      http2/h2i: Handle invalid usage more idiomatically. · 4599ae79
      Dmitri Shuralyov authored
      I believe it is more idiomatic to use exit code 2 for flag parsing
      errors and invalid usage cases.
      
      It's also not needed to do os.Exit inside usage since flag handling
      code does it anyway; usage should only print usage text.
      
      Change-Id: I0fe2047e3fd01489d32dfb8fde49ce7829439687
      Reviewed-on: https://go-review.googlesource.com/19774Reviewed-by: 's avatarBlake Mizerany <blake.mizerany@gmail.com>
      4599ae79
    • Mikio Hara's avatar
      internal/iana: update protocol numbers · 0899459b
      Mikio Hara authored
      Change-Id: I88b1fac3419f3e655a11cb22050fcd9a9a6c6616
      Reviewed-on: https://go-review.googlesource.com/19786Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      0899459b
    • Brad Fitzpatrick's avatar
      http2: move merging of HEADERS and CONTINUATION into Framer · 9e1fb3c1
      Brad Fitzpatrick authored
      HEADERS and CONTINUATION frames are special in that they must appear
      contiguous on the wire and there are lots of annoying details to
      verify while working through its state machine, including the handling
      of hpack header list size limits and DoS vectors.
      
      We now have three implementations of this merging (Server, Transport,
      and grpc), and grpc's is not complete. The Transport's was also
      partially incomplete.
      
      Move this up to the Framer (opt-in, for compatibility) and remove the
      support from the Server and Transport. I can fix grpc later to use
      this.
      
      Recommended reviewing order:
      
      * hpack.go exports the HeaderField.Size method and adds an IsPseudo
        method.
      
      * errors.go adds some new unexported error types, for testing.
      
      * frame.go adds the new type MetaHeadersFrame.
      
      * frame.go adds new fields on Framer for controlling how ReadFrame
        behaves
      
      * frame.go Framer.ReadFrame now calls the new Framer.readMetaFrame
        method
      
      * frame_test.go adds a bunch of tests. these are largely redundant
        with the existing tests which were in server and transport
        before. They really belong with frame_test.go, but I also don't want
        to delete tests in a CL like this. I probably won't remove them
        later either.
      
      * server.go and transport.go can be reviewed in either order at this
        point. Both are the fun part of this change: deleting lots of hairy
        state machine code (which was redundant in at least 6 ways: server
        headers, server trailers, client headers, client trailers, grpc
        headers, grpc trailers...). Both server and transport.go have the
        general following form:
      
        - set Framer.ReadMetaHeaders
        - stop handling *HeadersFrame and *ContinuationFrame; handle
          *MetaHeadersFrame instead.
        - delete all the state machine + hpack parsing callback hell
      
      The diffstat numbers look like a wash once you exclude the new tests,
      but this pays for itself by far when you consider the grpc savings as
      well, and the increased simplicity.
      
      Change-Id: If348cf585165b528b7d3ab2e5f86b49a03fbb0d2
      Reviewed-on: https://go-review.googlesource.com/19726Reviewed-by: 's avatarBlake Mizerany <blake.mizerany@gmail.com>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      9e1fb3c1
  20. 17 Feb, 2016 3 commits
  21. 13 Feb, 2016 1 commit
    • Brad Fitzpatrick's avatar
      http2: fix crash in Transport on double Read of invalid gzip Response.Body · cbbbe2bc
      Brad Fitzpatrick authored
      This old code was buggy:
      
      type gzipReader struct {
              body io.ReadCloser // underlying Response.Body
              zr   io.Reader     // lazily-initialized gzip reader
      }
      
      func (gz *gzipReader) Read(p []byte) (n int, err error) {
              if gz.zr == nil {
                      gz.zr, err = gzip.NewReader(gz.body)
                      if err != nil {
                              return 0, err
                      }
              }
              return gz.zr.Read(p)
      }
      
      If a Read on a gzipped Response.Body (of type *http2.gzipReader)
      resulted in gzip.NewReader returning an error, gzipReader assigned
      a *gzip.Reader-typed nil value to the gz.zr interface value.
      
      On a subsequent Read, gz.zr would not be equal to ==, because it was
      actually equal to (type *gzip.Reader, nil), and then zr.Read would call
      (*gzip.Reader).Read with a nil receiver and explode.
      
      Debugged internally. (http://go/http2gzipbug)
      
      Change-Id: Icba040ace8ffac3536e5e7ade6695c7660838ca1
      Reviewed-on: https://go-review.googlesource.com/19483Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      cbbbe2bc
  22. 11 Feb, 2016 1 commit
  23. 05 Feb, 2016 2 commits
  24. 03 Feb, 2016 2 commits