1. 14 Jan, 2014 9 commits
  2. 13 Jan, 2014 11 commits
  3. 12 Jan, 2014 1 commit
  4. 11 Jan, 2014 3 commits
  5. 10 Jan, 2014 10 commits
  6. 09 Jan, 2014 6 commits
    • Brad Fitzpatrick's avatar
      net/http: use TCP keep-alives for ListenAndServe and ListenAndServeTLS · d6bce32a
      Brad Fitzpatrick authored
      Our default behavior for the common cases shouldn't lead to
      leaked TCP connections (e.g. from people closing laptops) when
      their Go servers are exposed to the open Internet without a
      proxy in front.
      
      Too many users on golang-nuts have learned this the hard way.
      
      No API change. Only ListenAndServe and ListenAndServeTLS are
      updated.
      
      R=golang-codereviews, cespare, gobot, rsc, minux.ma
      CC=golang-codereviews
      https://golang.org/cl/48300043
      d6bce32a
    • Ian Lance Taylor's avatar
      runtime: fix 32-bit malloc for pointers >= 0x80000000 · 8da8b376
      Ian Lance Taylor authored
      The spans array is allocated in runtime·mallocinit.  On a
      32-bit system the number of entries in the spans array is
      MaxArena32 / PageSize, which (2U << 30) / (1 << 12) == (1 << 19).
      So we are allocating an array that can hold 19 bits for an
      index that can hold 20 bits.  According to the comment in the
      function, this is intentional: we only allocate enough spans
      (and bitmaps) for a 2G arena, because allocating more would
      probably be wasteful.
      
      But since the span index is simply the upper 20 bits of the
      memory address, this scheme only works if memory addresses are
      limited to the low 2G of memory.  That would be OK if we were
      careful to enforce it, but we're not.  What we are careful to
      enforce, in functions like runtime·MHeap_SysAlloc, is that we
      always return addresses between the heap's arena_start and
      arena_start + MaxArena32.
      
      We generally get away with it because we start allocating just
      after the program end, so we only run into trouble with
      programs that allocate a lot of memory, enough to get past
      address 0x80000000.
      
      This changes the code that computes a span index to subtract
      arena_start on 32-bit systems just as we currently do on
      64-bit systems.
      
      R=golang-codereviews, rsc
      CC=golang-codereviews
      https://golang.org/cl/49460043
      8da8b376
    • Robert Griesemer's avatar
      go/parser: slightly improved error message by adding hint · 8a089c07
      Robert Griesemer authored
      It's difficult to make this much better w/o much
      more effort. This is a rare case and probably not
      worth it.
      
      Fixes #6052.
      
      R=golang-codereviews, bradfitz, adonovan
      CC=golang-codereviews
      https://golang.org/cl/49740045
      8a089c07
    • Brad Fitzpatrick's avatar
      api: update next.txt · e598bf1c
      Brad Fitzpatrick authored
      R=golang-codereviews, minux.ma
      CC=golang-codereviews
      https://golang.org/cl/50190043
      e598bf1c
    • Shenghou Ma's avatar
      testing: document that ResetTimer also zeros the allocation counters. · 9847c065
      Shenghou Ma authored
      Fixes #6998.
      
      R=golang-codereviews, gobot, r
      CC=golang-codereviews
      https://golang.org/cl/44880044
      9847c065
    • Adam Langley's avatar
      crypto/tls: support renegotiation extension. · 779ef7bd
      Adam Langley authored
      The renegotiation extension was introduced[1] due to an attack by Ray in
      which a client's handshake was spliced into a connection that was
      renegotiating, thus giving an attacker the ability to inject an
      arbitary prefix into the connection.
      
      Go has never supported renegotiation as a server and so this attack
      doesn't apply. As a client, it's possible that at some point in the
      future the population of servers will be sufficiently updated that
      it'll be possible to reject connections where the server hasn't
      demonstrated that it has been updated to address this problem.
      
      We're not at that point yet, but it's good for Go servers to support
      the extension so that it might be possible to do in the future.
      
      [1] https://tools.ietf.org/search/rfc5746
      
      R=golang-codereviews, mikioh.mikioh
      CC=golang-codereviews
      https://golang.org/cl/48580043
      779ef7bd