1. 13 Oct, 2013 3 commits
    • Martin Storsjö's avatar
      http: Support auth method detection for POST · 71549a85
      Martin Storsjö authored
      Inspired by a patch by Jakob van Bethlehem. But instead of doing
      an empty POST first to trigger the WWW-Authenticate header (which
      would succeed if no auth actually was required), add an Expect:
      100-continue header, which is meant to be used exactly for
      cases like this.
      
      The header is added if doing a post, and the user has specified
      authentication but we don't know the auth method yet.
      
      Not all common HTTP servers support the Expect: 100-continue header,
      though, so we only try to use it when it really is needed. The user
      can request it to be added for other POST requests as well via
      an option - which would allow the caller to know immediately that
      the POST has failed (e.g. if no auth was provided but the server
      required it, or if the target URL simply doesn't exist).
      
      This is only done for write mode posts (e.g. posts without pre-set
      post_data) - for posts with pre-set data, we can just redo the post
      if it failed due to 401.
      Signed-off-by: default avatarMartin Storsjö <martin@martin.st>
      71549a85
    • Martin Storsjö's avatar
      http: Add an option for forcing basic authentication · eb8b05a3
      Martin Storsjö authored
      The default is to autodetect the auth method. This does require one
      extra request (and also closing and reopening the http connection).
      For some cases such as HTTP POST, the autodetection is not handled
      properly (yet).
      
      No option is added for digest, since this method requires getting
      nonce parameters from the server first and can't be used straight
      away like Basic.
      Signed-off-by: default avatarMartin Storsjö <martin@martin.st>
      eb8b05a3
    • Derek Buitenhuis's avatar
      pthread: Fix deadlock during thread initialization · eb90a209
      Derek Buitenhuis authored
      Sometimes, if pthread_create() failed, then pthread_cond_wait() could
      accidentally be called in the worker threads after the uninit function
      had already called pthread_cond_broadcast(), leading to a deadlock.
      
      Don't call pthread_cond_wait() if c->done is set.
      Signed-off-by: default avatarDerek Buitenhuis <derek.buitenhuis@gmail.com>
      eb90a209
  2. 12 Oct, 2013 14 commits
  3. 10 Oct, 2013 14 commits
  4. 09 Oct, 2013 8 commits
  5. 07 Oct, 2013 1 commit