Skip to content
Snippets Groups Projects
  1. May 18, 2015
  2. Apr 27, 2015
  3. Apr 02, 2015
    • Tatsuhiro Tsujikawa's avatar
      http2: Fix missing nghttp2_session_send call in Curl_http2_switched · 21e82bd6
      Tatsuhiro Tsujikawa authored
      Previously in Curl_http2_switched, we called nghttp2_session_mem_recv to
      parse incoming data which were already received while curl was handling
      upgrade.  But we didn't call nghttp2_session_send, and it led to make
      curl not send any response to the received frames.  Most likely, we
      received SETTINGS from server at this point, so we missed opportunity to
      send SETTINGS + ACK.  This commit adds missing nghttp2_session_send call
      in Curl_http2_switched to fix this issue.
      
      Bug: https://github.com/bagder/curl/issues/192
      Reported-by: Stefan Eissing
      21e82bd6
  4. Mar 24, 2015
  5. Mar 23, 2015
  6. Mar 19, 2015
  7. Mar 16, 2015
    • Daniel Stenberg's avatar
      free: instead of Curl_safefree() · 0f4a03cb
      Daniel Stenberg authored
      Since we just started make use of free(NULL) in order to simplify code,
      this change takes it a step further and:
      
      - converts lots of Curl_safefree() calls to good old free()
      - makes Curl_safefree() not check the pointer before free()
      
      The (new) rule of thumb is: if you really want a function call that
      frees a pointer and then assigns it to NULL, then use Curl_safefree().
      But we will prefer just using free() from now on.
      0f4a03cb
  8. Mar 14, 2015
  9. Mar 07, 2015
  10. Mar 03, 2015
  11. Feb 27, 2015
  12. Feb 25, 2015
  13. Feb 09, 2015
  14. Dec 14, 2014
  15. Nov 13, 2014
    • Tatsuhiro Tsujikawa's avatar
      http2: Deal with HTTP/2 data inside response header buffer · 7b7f0da4
      Tatsuhiro Tsujikawa authored
      Previously if HTTP/2 traffic is appended to HTTP Upgrade response header
      (thus they are in the same buffer), the trailing HTTP/2 traffic is not
      processed and lost.  The appended data is most likely SETTINGS frame.
      If it is lost, nghttp2 library complains server does not obey the HTTP/2
      protocol and issues GOAWAY frame and curl eventually drops connection.
      This commit fixes this problem and now trailing data is processed.
      7b7f0da4
  16. Sep 13, 2014
    • Tatsuhiro Tsujikawa's avatar
      http2: Fix busy loop when EOF is encountered · 7d9bef92
      Tatsuhiro Tsujikawa authored
      Previously we did not handle EOF from underlying transport socket and
      wrongly just returned error code CURL_AGAIN from http2_recv, which
      caused busy loop since socket has been closed.  This patch adds the
      code to handle EOF situation and tells the upper layer that we got
      EOF.
      7d9bef92
  17. Aug 26, 2014
  18. Aug 07, 2014
  19. Aug 03, 2014
  20. Aug 02, 2014
    • Tatsuhiro Tsujikawa's avatar
      HTTP2: Support expect: 100-continue · 595f5f0e
      Tatsuhiro Tsujikawa authored
      "Expect: 100-continue", which was once deprecated in HTTP/2, is now
      resurrected in HTTP/2 draft 14.  This change adds its support to
      HTTP/2 code.  This change also includes stricter header field
      checking.
      595f5f0e
  21. Jul 25, 2014
  22. Jul 23, 2014
    • Daniel Stenberg's avatar
      http2: more and better error checking · 81cd24ad
      Daniel Stenberg authored
      1 - fixes the warnings when built without http2 support
      
      2 - adds CURLE_HTTP2, a new error code for errors detected by nghttp2
      basically when they are about http2 specific things.
      81cd24ad
  23. Jun 13, 2014
  24. Jun 12, 2014
  25. May 20, 2014
  26. May 07, 2014
  27. Apr 27, 2014
  28. Apr 23, 2014
    • Daniel Stenberg's avatar
      handler: make 'protocol' always specified as a single bit · 710f14ed
      Daniel Stenberg authored
      This makes the findprotocol() function work as intended so that libcurl
      can properly be restricted to not support HTTP while still supporting
      HTTPS - since the HTTPS handler previously set both the HTTP and HTTPS
      bits in the protocol field.
      
      This fixes --proto and --proto-redir for most SSL protocols.
      
      This is done by adding a few new convenience defines that groups HTTP
      and HTTPS, FTP and FTPS etc that should then be used when the code wants
      to check for both protocols at once. PROTO_FAMILY_[protocol] style.
      
      Bug: https://github.com/bagder/curl/pull/97
      Reported-by: drizzt
      710f14ed
  29. Apr 05, 2014
  30. Mar 10, 2014
  31. Feb 28, 2014
    • Tatsuhiro Tsujikawa's avatar
      Fix bug that HTTP/2 hangs if whole response body is read with headers · cde0cf7c
      Tatsuhiro Tsujikawa authored
      For HTTP/2, we may read up everything including responde body with
      header fields in Curl_http_readwrite_headers. If no content-length is
      provided, curl waits for the connection close, which we emulate it
      using conn->proto.httpc.closed = TRUE. The thing is if we read
      everything, then http2_recv won't be called and we cannot signal the
      HTTP/2 stream has closed. As a workaround, we return nonzero from
      data_pending to call http2_recv.
      cde0cf7c
    • Daniel Stenberg's avatar
      http2: build with current nghttp2 version · 53f1f4a1
      Daniel Stenberg authored
      nghttp2 has yet again extended its callback struct and this is an
      attempt to make curl compile with nghttp2 from current git
      53f1f4a1
Loading