Skip to content
Snippets Groups Projects
  1. Jun 22, 2016
  2. May 01, 2016
  3. Feb 02, 2016
  4. Jul 01, 2015
  5. Mar 20, 2015
  6. Jan 17, 2015
  7. Jan 16, 2015
  8. Dec 30, 2014
    • Steve Holme's avatar
      vtls: Use '(void) arg' for unused parameters · e9d0c7a6
      Steve Holme authored
      Prefer void for unused parameters, rather than assigning an argument to
      itself as a) unintelligent compilers won't optimize it out, b) it can't
      be used for const parameters, c) it will cause compilation warnings for
      clang with -Wself-assign and d) is inconsistent with other areas of the
      curl source code.
      e9d0c7a6
  9. Dec 28, 2014
    • Steve Holme's avatar
      vtls: Fixed compilation warning and an ignored return code · 037cd0d9
      Steve Holme authored
      curl_schannel.h:123: warning: right-hand operand of comma expression
                           has no effect
      
      Some instances of the curlssl_close_all() function were declared with a
      void return type whilst others as int. The schannel version returned
      CURLE_NOT_BUILT_IN and others simply returned zero, but in all cases the
      return code was ignored by the calling function Curl_ssl_close_all().
      
      For the time being and to keep the internal API consistent, changed all
      declarations to use a void return type.
      
      To reduce code we might want to consider removing the unimplemented
      versions and use a void #define like schannel does.
      037cd0d9
  10. Dec 03, 2014
  11. Oct 13, 2014
  12. Sep 13, 2014
  13. Jul 31, 2014
  14. Jul 29, 2014
    • Daniel Stenberg's avatar
      vtls: make the random function mandatory in the TLS backend · 8dfd2208
      Daniel Stenberg authored
      To force each backend implementation to really attempt to provide proper
      random. If a proper random function is missing, then we can explicitly
      make use of the default one we use when TLS support is missing.
      
      This commit makes sure it works for darwinssl, gnutls, nss and openssl.
      8dfd2208
  15. Apr 22, 2014
  16. Dec 26, 2013
  17. Dec 20, 2013
  18. Jun 25, 2013
    • Daniel Stenberg's avatar
      formpost: better random boundaries · 365c5ba3
      Daniel Stenberg authored
      When doing multi-part formposts, libcurl used a pseudo-random value that
      was seeded with time(). This turns out to be bad for users who formpost
      data that is provided with users who then can guess how the boundary
      string will look like and then they can forge a different formpost part
      and trick the receiver.
      
      My advice to such implementors is (still even after this change) to not
      rely on the boundary strings being cryptographically strong. Fix your
      code and logic to not depend on them that much!
      
      I moved the Curl_rand() function into the sslgen.c source file now to be
      able to take advantage of the SSL library's random function if it
      provides one. If not, try to use the RANDOM_FILE for seeding and as a
      last resort keep the old logic, just modified to also add microseconds
      which makes it harder to properly guess the exact seed.
      
      The formboundary() function in formdata.c is now using 64 bit entropy
      for the boundary and therefore the string of dashes was reduced by 4
      letters and there are 16 hex digits following it. The total length is
      thus still the same.
      
      Bug: http://curl.haxx.se/bug/view.cgi?id=1251
      Reported-by: "Floris"
      365c5ba3
  19. Jan 08, 2013
    • Yang Tse's avatar
      build: fix circular header inclusion with other packages · 5a053ffe
      Yang Tse authored
      This commit renames lib/setup.h to lib/curl_setup.h and
      renames lib/setup_once.h to lib/curl_setup_once.h.
      
      Removes the need and usage of a header inclusion guard foreign
      to libcurl. [1]
      
      Removes the need and presence of an alarming notice we carried
      in old setup_once.h [2]
      
      ----------------------------------------
      
      1 - lib/setup_once.h used __SETUP_ONCE_H macro as header inclusion guard
          up to commit ec691ca3 which changed this to HEADER_CURL_SETUP_ONCE_H,
          this single inclusion guard is enough to ensure that inclusion of
          lib/setup_once.h done from lib/setup.h is only done once.
      
          Additionally lib/setup.h has always used __SETUP_ONCE_H macro to
          protect inclusion of setup_once.h even after commit ec691ca3, this
          was to avoid a circular header inclusion triggered when building a
          c-ares enabled version with c-ares sources available which also has
          a setup_once.h header. Commit ec691ca3 exposes the real nature of
          __SETUP_ONCE_H usage in lib/setup.h, it is a header inclusion guard
          foreign to libcurl belonging to c-ares's setup_once.h
      
          The renaming this commit does, fixes the circular header inclusion,
          and as such removes the need and usage of a header inclusion guard
          foreign to libcurl. Macro __SETUP_ONCE_H no longer used in libcurl.
      
      2 - Due to the circular interdependency of old lib/setup_once.h and the
          c-ares setup_once.h header, old file lib/setup_once.h has carried
          back from 2006 up to now days an alarming and prominent notice about
          the need of keeping libcurl's and c-ares's setup_once.h in sync.
      
          Given that this commit fixes the circular interdependency, the need
          and presence of mentioned notice is removed.
      
          All mentioned interdependencies come back from now old days when
          the c-ares project lived inside a curl subdirectory. This commit
          removes last traces of such fact.
      5a053ffe
  20. Jan 06, 2013
    • Yang Tse's avatar
      Revert changes relative to lib/*.[ch] recent renaming · 4a5aa668
      Yang Tse authored
      This reverts renaming and usage of lib/*.h header files done
      28-12-2012, reverting 2 commits:
      
        f871de00... build: make use of 76 lib/*.h renamed files
        ffd8e127... build: rename 76 lib/*.h files
      
      This also reverts removal of redundant include guard (redundant thanks
      to changes in above commits) done 2-12-2013, reverting 1 commit:
      
        c087374c... curl_setup.h: remove redundant include guard
      
      This also reverts renaming and usage of lib/*.c source files done
      3-12-2013, reverting 3 commits:
      
        13606bbf... build: make use of 93 lib/*.c renamed files
        5b6e7927... build: rename 93 lib/*.c files
        7d83dfff... build: commit 13606bbf follow-up 1
      
      Start of related discussion thread:
      
        http://curl.haxx.se/mail/lib-2013-01/0012.html
      
      Asking for confirmation on pushing this revertion commit:
      
        http://curl.haxx.se/mail/lib-2013-01/0048.html
      
      Confirmation summary:
      
        http://curl.haxx.se/mail/lib-2013-01/0079.html
      
      NOTICE: The list of 2 files that have been modified by other
      intermixed commits, while renamed, and also by at least one
      of the 6 commits this one reverts follows below. These 2 files
      will exhibit a hole in history unless git's '--follow' option
      is used when viewing logs.
      
        lib/curl_imap.h
        lib/curl_smtp.h
      4a5aa668
  21. Jan 03, 2013
  22. Dec 28, 2012
    • Yang Tse's avatar
      build: rename 76 lib/*.h files · ffd8e127
      Yang Tse authored
      76 private header files renamed to use our standard naming scheme.
      
      This commit only does the file renaming.
      
      ----------------------------------------
      
        renamed:    amigaos.h -> curl_amigaos.h
        renamed:    arpa_telnet.h -> curl_arpa_telnet.h
        renamed:    asyn.h -> curl_asyn.h
        renamed:    axtls.h -> curl_axtls.h
        renamed:    bundles.h -> curl_bundles.h
        renamed:    conncache.h -> curl_conncache.h
        renamed:    connect.h -> curl_connect.h
        renamed:    content_encoding.h -> curl_content_encoding.h
        renamed:    cookie.h -> curl_cookie.h
        renamed:    cyassl.h -> curl_cyassl.h
        renamed:    dict.h -> curl_dict.h
        renamed:    easyif.h -> curl_easyif.h
        renamed:    escape.h -> curl_escape.h
        renamed:    file.h -> curl_file.h
        renamed:    fileinfo.h -> curl_fileinfo.h
        renamed:    formdata.h -> curl_formdata.h
        renamed:    ftp.h -> curl_ftp.h
        renamed:    ftplistparser.h -> curl_ftplistparser.h
        renamed:    getinfo.h -> curl_getinfo.h
        renamed:    gopher.h -> curl_gopher.h
        renamed:    gtls.h -> curl_gtls.h
        renamed:    hash.h -> curl_hash.h
        renamed:    hostcheck.h -> curl_hostcheck.h
        renamed:    hostip.h -> curl_hostip.h
        renamed:    http.h -> curl_http.h
        renamed:    http_chunks.h -> curl_http_chunks.h
        renamed:    http_digest.h -> curl_http_digest.h
        renamed:    http_negotiate.h -> curl_http_negotiate.h
        renamed:    http_proxy.h -> curl_http_proxy.h
        renamed:    if2ip.h -> curl_if2ip.h
        renamed:    imap.h -> curl_imap.h
        renamed:    inet_ntop.h -> curl_inet_ntop.h
        renamed:    inet_pton.h -> curl_inet_pton.h
        renamed:    krb4.h -> curl_krb4.h
        renamed:    llist.h -> curl_llist.h
        renamed:    memdebug.h -> curl_memdebug.h
        renamed:    multiif.h -> curl_multiif.h
        renamed:    netrc.h -> curl_netrc.h
        renamed:    non-ascii.h -> curl_non-ascii.h
        renamed:    nonblock.h -> curl_nonblock.h
        renamed:    nssg.h -> curl_nssg.h
        renamed:    parsedate.h -> curl_parsedate.h
        renamed:    pingpong.h -> curl_pingpong.h
        renamed:    polarssl.h -> curl_polarssl.h
        renamed:    pop3.h -> curl_pop3.h
        renamed:    progress.h -> curl_progress.h
        renamed:    qssl.h -> curl_qssl.h
        renamed:    rawstr.h -> curl_rawstr.h
        renamed:    rtsp.h -> curl_rtsp.h
        renamed:    select.h -> curl_select.h
        renamed:    sendf.h -> curl_sendf.h
        renamed:    setup.h -> curl_setup.h
        renamed:    setup_once.h -> curl_setup_once.h
        renamed:    share.h -> curl_share.h
        renamed:    slist.h -> curl_slist.h
        renamed:    smtp.h -> curl_smtp.h
        renamed:    sockaddr.h -> curl_sockaddr.h
        renamed:    socks.h -> curl_socks.h
        renamed:    speedcheck.h -> curl_speedcheck.h
        renamed:    splay.h -> curl_splay.h
        renamed:    ssh.h -> curl_ssh.h
        renamed:    sslgen.h -> curl_sslgen.h
        renamed:    ssluse.h -> curl_ssluse.h
        renamed:    strdup.h -> curl_strdup.h
        renamed:    strequal.h -> curl_strequal.h
        renamed:    strerror.h -> curl_strerror.h
        renamed:    strtok.h -> curl_strtok.h
        renamed:    strtoofft.h -> curl_strtoofft.h
        renamed:    telnet.h -> curl_telnet.h
        renamed:    tftp.h -> curl_tftp.h
        renamed:    timeval.h -> curl_timeval.h
        renamed:    transfer.h -> curl_transfer.h
        renamed:    url.h -> curl_url.h
        renamed:    urldata.h -> curl_urldata.h
        renamed:    warnless.h -> curl_warnless.h
        renamed:    wildcard.h -> curl_wildcard.h
      
      ----------------------------------------
      ffd8e127
    • Yang Tse's avatar
      build: make use of 76 lib/*.h renamed files · f871de00
      Yang Tse authored
      76 private header files renamed to use our standard naming scheme.
      
      This change affects 322 files in libcurl's source tree.
      f871de00
  23. Jun 26, 2012
  24. Sep 03, 2011
  25. Aug 28, 2011
  26. Apr 05, 2011
    • Daniel Stenberg's avatar
      return code cleanup: build, init and run-time errors · 01f05d0c
      Daniel Stenberg authored
      Stop the abuse of CURLE_FAILED_INIT as return code for things not being
      init related by introducing two new return codes:
      
      CURLE_NOT_BUILT_IN and CURLE_UNKNOWN_OPTION
      
      CURLE_NOT_BUILT_IN replaces return code 4 that has been obsoleted for
      several years. It is used for returning error when something is
      attempted to be used but the feature/option was not enabled or
      explictitly disabled at build-time. Getting this error mostly means that
      libcurl needs to be rebuilt.
      
      CURLE_FAILED_INIT is now saved and used strictly for init
      failures. Getting this problem means something went seriously wrong,
      like a resource shortage or similar.
      
      CURLE_UNKNOWN_OPTION is the option formerly known as
      CURLE_UNKNOWN_TELNET_OPTION (and the old name is still present,
      separately defined to be removed in a very distant future). This error
      code is meant to be used to return when an option is given to libcurl
      that isn't known. This problem would mostly indicate a problem in the
      program that uses libcurl.
      01f05d0c
  27. Jun 30, 2010
    • 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
  28. May 07, 2010
    • Howard Chu's avatar
      sendrecv: split the I/O handling into private handler · d64bd82b
      Howard Chu authored
      Howard Chu brought the bulk work of this patch that properly
      moves out the sending and recving of data to the parts of the
      code that are properly responsible for the various ways of doing
      so.
      
      Daniel Stenberg assisted with polishing a few bits and fixed some
      minor flaws in the original patch.
      
      Another upside of this patch is that we now abuse CURLcodes less
      with the "magic" -1 return codes and instead use CURLE_AGAIN more
      consistently.
      d64bd82b
  29. Apr 04, 2010
  30. Mar 24, 2010
  31. Oct 17, 2008
  32. Jun 21, 2008
  33. Jun 11, 2008
    • Daniel Stenberg's avatar
      - I did a cleanup of the internal generic SSL layer and how the various SSL · 04d5c8fb
      Daniel Stenberg authored
        libraries are supported. Starting now, each underlying SSL library support
        code does a set of defines for the 16 functions the generic layer (sslgen.c)
        uses (all these new function defines use the prefix "curlssl_"). This
        greatly simplified the generic layer in readability by involving much less
        #ifdefs and other preprocessor stuff and should make it easier for people to
        make libcurl work with new SSL libraries.
      
        Hopefully I can later on document these 16 functions somewhat as well.
      
        I also made most of the internal SSL-dependent functions (using Curl_ssl_
        prefix) #defined to nothing when no SSL support is requested - previously
        they would unnecessarily call mostly empty functions.
      04d5c8fb
  34. Sep 27, 2007
  35. Aug 01, 2007
  36. Feb 12, 2007
Loading