1. 01 Apr, 2012 2 commits
    • Armel Asselin's avatar
      SSH: public key can now be an empty string · 05a443ad
      Armel Asselin authored
      If an empty string is passed to CURLOPT_SSH_PUBLIC_KEYFILE, libcurl will
      pass no public key to libssh2 which then tries to compute it from the
      private key. This is known to work when libssh2 1.4.0+ is linked against
      OpenSSL.
      05a443ad
    • Tatsuhiro Tsujikawa's avatar
      OpenSSL: Made cert hostname check conform to RFC 6125 · ebf315e6
      Tatsuhiro Tsujikawa authored
      This change replaces RFC 2818 based hostname check in OpenSSL build with
      RFC 6125 [1] based one.
      
      The hostname check in RFC 2818 is ambiguous and each project implements
      it in the their own way and they are slightly different. I check curl,
      gnutls, Firefox and Chrome and they are all different.
      
      I don't think there is a bug in current implementation of hostname
      check. But it is not as strict as the modern browsers do. Currently,
      curl allows multiple wildcard character '*' and it matches '.'. (as
      described in the comment in ssluse.c).
      
      Firefox implementation is also based on RFC 2818 but it only allows at
      most one wildcard character and it must be in the left-most label in the
      pattern and the wildcard must not be followed by any character in the
      label.[2] Chromium implementation is based on RFC 6125 as my patch does.
      Firefox and Chromium both require wildcard in the left-most label in the
      presented identifier.
      
      This patch is more strict than the current implementation, so there may
      be some cases where old curl works but new one does not. But at the same
      time I think it is good practice to follow the modern browsers do and
      follow the newer RFC.
      
      [1] http://tools.ietf.org/html/rfc6125#section-6.4.3
      [2] https://bugzilla.mozilla.org/show_bug.cgi?id=159483
      ebf315e6
  2. 31 Mar, 2012 7 commits
  3. 30 Mar, 2012 1 commit
  4. 29 Mar, 2012 1 commit
  5. 28 Mar, 2012 2 commits
  6. 27 Mar, 2012 2 commits
  7. 26 Mar, 2012 2 commits
  8. 25 Mar, 2012 5 commits
  9. 24 Mar, 2012 3 commits
  10. 23 Mar, 2012 4 commits
  11. 22 Mar, 2012 10 commits
  12. 21 Mar, 2012 1 commit