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. Mar 10, 2015
  7. Jan 17, 2015
  8. Jan 16, 2015
  9. 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
  10. Oct 13, 2014
  11. Jul 31, 2014
  12. 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
  13. Dec 20, 2013
  14. 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
  15. 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
  16. 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
  17. 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
  18. Jun 26, 2012
  19. Aug 28, 2011
  20. 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
  21. 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
  22. Apr 16, 2010
  23. Apr 04, 2010
  24. Mar 24, 2010
  25. Feb 12, 2009
  26. Oct 17, 2008
  27. 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
  28. Jun 10, 2008
  29. Sep 27, 2007
  30. Aug 01, 2007
  31. Jan 05, 2007
  32. Nov 11, 2006
  33. Apr 07, 2005
    • Daniel Stenberg's avatar
      GnuTLS support added. There's now a "generic" SSL layer that we use all over · 6e619393
      Daniel Stenberg authored
      internally, with code provided by sslgen.c. All SSL-layer-specific code is
      then written in ssluse.c (for OpenSSL) and gtls.c (for GnuTLS).
      
      As far as possible, internals should not need to know what SSL layer that is
      in use. Building with GnuTLS currently makes two test cases fail.
      
      TODO.gnutls contains a few known outstanding issues for the GnuTLS support.
      
      GnuTLS support is enabled with configure --with-gnutls
      6e619393
  34. Mar 31, 2005
  35. Mar 16, 2005
    • Daniel Stenberg's avatar
      - Tru64 and some IRIX boxes seem to not like test 237 as it is. Their · 61133545
      Daniel Stenberg authored
        inet_addr() functions seems to use &255 on all numericals in a ipv4 dotted
        address which makes a different failure... Now I've modified the ipv4
        resolve code to use inet_pton() instead in an attempt to make these systems
        better detect this as a bad IP address rather than creating a toally bogus
        address that is then passed on and used.
      61133545
  36. Jan 07, 2004
Loading