Skip to content
  1. Jun 08, 2015
  2. Jun 04, 2015
  3. Jun 02, 2015
  4. Jun 01, 2015
    • Jay Satiro's avatar
      curl_setup: Add macros for FOPEN_READTEXT, FOPEN_WRITETEXT · e8423f9c
      Jay Satiro authored
      - Change fopen calls to use FOPEN_READTEXT instead of "r" or "rt"
      - Change fopen calls to use FOPEN_WRITETEXT instead of "w" or "wt"
      
      This change is to explicitly specify when we need to read/write text.
      Unfortunately 't' is not part of POSIX fopen so we can't specify it
      directly. Instead we now have FOPEN_READTEXT, FOPEN_WRITETEXT.
      
      Prior to this change we had an issue on Windows if an application that
      uses libcurl overrides the default file mode to binary. The default file
      mode in Windows is normally text mode (translation mode) and that's what
      libcurl expects.
      
      Bug: https://github.com/bagder/curl/pull/258#issuecomment-107093055
      Reported-by: Orgad Shaneh
      e8423f9c
  5. May 31, 2015
  6. May 30, 2015
  7. May 27, 2015
  8. May 25, 2015
    • Tatsuhiro Tsujikawa's avatar
      http2: Copy data passed in Curl_http2_switched into HTTP/2 connection buffer · 02dfc930
      Tatsuhiro Tsujikawa authored
      Previously, after seeing upgrade to HTTP/2, we feed data followed by
      upgrade response headers directly to nghttp2_session_mem_recv() in
      Curl_http2_switched().  But it turns out that passed buffer, mem, is
      part of stream->mem, and callbacks called by
      nghttp2_session_mem_recv() will write stream specific data into
      stream->mem, overwriting input data.  This will corrupt input, and
      most likely frame length error is detected by nghttp2 library.  The
      fix is first copy the passed data to HTTP/2 connection buffer,
      httpc->inbuf, and call nghttp2_session_mem_recv().
      02dfc930
  9. May 24, 2015
  10. May 22, 2015
  11. May 20, 2015
    • Daniel Stenberg's avatar
      read_callback: move to SessionHandle from connectdata · b0143a2a
      Daniel Stenberg authored
      With many easy handles using the same connection for multiplexing, it is
      important we store and keep the transfer-oriented stuff in the
      SessionHandle so that callbacks and callback data work fine even when
      many easy handles share the same physical connection.
      b0143a2a
    • Daniel Stenberg's avatar
      http2: show stream IDs in decimal · 6a688976
      Daniel Stenberg authored
      It makes them easier to match output from the nghttpd test server.
      6a688976
    • Tatsuhiro Tsujikawa's avatar
      http2: Faster http2 upload · c175d184
      Tatsuhiro Tsujikawa authored
      Previously, when we send all given buffer in data_source_callback, we
      return NGHTTP2_ERR_DEFERRED, and nghttp2 library removes this stream
      temporarily for writing.  This itself is good.  If this is the sole
      stream in the session, nghttp2_session_want_write() returns zero,
      which means that libcurl does not check writeability of the underlying
      socket.  This leads to very slow upload, because it seems curl only
      upload 16k something per 1 second.  To fix this, if we still have data
      to send, call nghttp2_session_resume_data after nghttp2_session_send.
      This makes nghttp2_session_want_write() returns nonzero (if connection
      window still opens), and as a result, socket writeability is checked,
      and upload speed becomes normal.
      c175d184
    • Dmitry Eremin-Solenikov's avatar
      gtls: don't fail on non-fatal alerts during handshake · d5aab55b
      Dmitry Eremin-Solenikov authored
      Stop curl from failing when non-fatal alert is received during
      handshake.  This e.g. fixes lots of problems when working with https
      sites through proxies.
      d5aab55b
  12. May 19, 2015
  13. May 18, 2015