1. 12 Jul, 2010 3 commits
    • Constantine Sapuntzakis's avatar
      multi: fix condition that remove timers before trigger · d4e64041
      Constantine Sapuntzakis authored
      curl_multi perform has two phases: run through every easy handle calling
      multi_runsingle and remove expired timers (timer removal).
      
      If a small timer (e.g. 1-10ms) is set during multi_runsingle, then it's
      possible that the timer has passed by when the timer removal runs. The
      timer which was just added is then removed. This will potentially cause
      the timer list to be empty and cause the next call to curl_multi_timeout
      to return -1. Ideally, curl_multi_timeout should return 0 in this case.
      
      One way to fix this is to move the struct timeval now = Curl_tvnow(); to
      the top of curl_multi_perform. The change does that.
      d4e64041
    • Constantine Sapuntzakis's avatar
      threaded resolver: fix timeout issue · 39923092
      Constantine Sapuntzakis authored
      Reset old timer first so we can set a new one further in the future.
      39923092
    • Daniel Stenberg's avatar
      configure: allow environments variable to override internals · 241b704e
      Daniel Stenberg authored
      configure checks for grep, egrep, sed and ar and set the variables GREP,
      EGREP, SED and AR accordingly. We now let already set variables override
      the internal choices to let users make decisions when they know the
      right choice already. This is a regression as our configure script used
      to allow this back before commit 0b57c475 (up to 7.18.2).
      
      Reported by: "kdekker"
      Bug: http://curl.haxx.se/bug/view.cgi?id=3028318
      241b704e
  2. 09 Jul, 2010 1 commit
  3. 07 Jul, 2010 1 commit
  4. 06 Jul, 2010 6 commits
  5. 01 Jul, 2010 1 commit
  6. 30 Jun, 2010 3 commits
    • Pierre Joye's avatar
      7239538d
    • Daniel Stenberg's avatar
      18a9ee6b
    • Kamil Dudka's avatar
      http_ntlm: add support for NSS · f3b77e56
      Kamil Dudka authored
      When configured with '--without-ssl --with-nss', NTLM authentication
      now uses NSS crypto library for MD5 and DES.  For MD4 we have a local
      implementation in that case.  More details are available at
      https://bugzilla.redhat.com/603783
      
      In order to get it working, curl_global_init() must be called with
      CURL_GLOBAL_SSL or CURL_GLOBAL_ALL.  That's necessary because NSS needs
      to be initialized globally and we do so only when the NSS library is
      actually required by protocol.  The mentioned call of curl_global_init()
      is responsible for creating of the initialization mutex.
      
      There was also slightly changed the NSS initialization scenario, in
      particular, loading of the NSS PEM module.  It used to be loaded always
      right after the NSS library was initialized.  Now the library is
      initialized as soon as any SSL or NTLM is required, while the PEM module
      is prevented from being loaded until the SSL is actually required.
      f3b77e56
  7. 28 Jun, 2010 2 commits
  8. 26 Jun, 2010 1 commit
  9. 24 Jun, 2010 4 commits
    • Pavel Raiskup's avatar
      ftp wildcard: FTP LIST parser FIX · f7ae7b36
      Pavel Raiskup authored
      There was a problem when a UNIX-like server returned information
      about directory size (total NNNNNN) at the first line of
      response.
      f7ae7b36
    • Pavel Raiskup's avatar
      examples: new FTP wildcard showcase · 31dd8ab1
      Pavel Raiskup authored
      31dd8ab1
    • Daniel Stenberg's avatar
      multi_socket: re-use of same socket without notifying app · 8da56e12
      Daniel Stenberg authored
      When a hostname resolves to multiple IP addresses and the first one
      tried doesn't work, the socket for the second attempt may get dropped on
      the floor, causing the request to eventually time out. The issue is that
      when using kqueue (as on mac and bsd platforms) instead of select, the
      kernel removes the first fd from kqueue when it is closed (in trynextip,
      connect.c:503). Trynextip() then goes on to open a new socket, which
      gets assigned the same number as the one it just closed. Later in
      multi.c, socket_cb is not called because the fd is already in
      multi->sockhash, so the new socket is never added to kqueue.
      
      The correct fix is to ensure that socket_cb is called to remove the fd
      when trynextip() closes the socket, and again to re-add it after
      singleipsocket(). I'm not sure how to cleanly do that, but the attached
      patch works around the problem in an admittedly kludgy way by delaying
      the close to ensure that the newly-opened socket gets a different fd.
      
      Daniel's added comment: I didn't spot a way to easily do a nicer fix so
      I've proceeded with Ben's patch.
      
      Bug: http://curl.haxx.se/bug/view.cgi?id=3017819
      Patch by: Ben Darnell
      8da56e12
    • Pavel Raiskup's avatar
      ftp-wildcard: avoid tight loop when used without any pattern · 0a040789
      Pavel Raiskup authored
      It was broken for URLs like "ftp://example.com/".
      0a040789
  10. 21 Jun, 2010 5 commits
  11. 19 Jun, 2010 1 commit
  12. 18 Jun, 2010 3 commits
  13. 17 Jun, 2010 6 commits
  14. 16 Jun, 2010 3 commits