Skip to content
Snippets Groups Projects
  1. Aug 12, 2013
  2. Jan 17, 2013
    • Daniel Stenberg's avatar
      always-multi: always use non-blocking internals · c4312741
      Daniel Stenberg authored
      Remove internal separated behavior of the easy vs multi intercace.
      curl_easy_perform() is now using the multi interface itself.
      
      Several minor multi interface quirks and bugs have been fixed in the
      process.
      
      Much help with debugging this has been provided by: Yang Tse
      c4312741
  3. 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
  4. 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
  5. Jan 03, 2013
    • Yang Tse's avatar
      build: rename 93 lib/*.c files · 5b6e7927
      Yang Tse authored
      93 lib/*.c source files renamed to use our standard naming scheme.
      
      This commit only does the file renaming.
      
      ----------------------------------------
      
        renamed:    lib/amigaos.c -> lib/curl_amigaos.c
        renamed:    lib/asyn-ares.c -> lib/curl_asyn_ares.c
        renamed:    lib/asyn-thread.c -> lib/curl_asyn_thread.c
        renamed:    lib/axtls.c -> lib/curl_axtls.c
        renamed:    lib/base64.c -> lib/curl_base64.c
        renamed:    lib/bundles.c -> lib/curl_bundles.c
        renamed:    lib/conncache.c -> lib/curl_conncache.c
        renamed:    lib/connect.c -> lib/curl_connect.c
        renamed:    lib/content_encoding.c -> lib/curl_content_encoding.c
        renamed:    lib/cookie.c -> lib/curl_cookie.c
        renamed:    lib/cyassl.c -> lib/curl_cyassl.c
        renamed:    lib/dict.c -> lib/curl_dict.c
        renamed:    lib/easy.c -> lib/curl_easy.c
        renamed:    lib/escape.c -> lib/curl_escape.c
        renamed:    lib/file.c -> lib/curl_file.c
        renamed:    lib/fileinfo.c -> lib/curl_fileinfo.c
        renamed:    lib/formdata.c -> lib/curl_formdata.c
        renamed:    lib/ftp.c -> lib/curl_ftp.c
        renamed:    lib/ftplistparser.c -> lib/curl_ftplistparser.c
        renamed:    lib/getenv.c -> lib/curl_getenv.c
        renamed:    lib/getinfo.c -> lib/curl_getinfo.c
        renamed:    lib/gopher.c -> lib/curl_gopher.c
        renamed:    lib/gtls.c -> lib/curl_gtls.c
        renamed:    lib/hash.c -> lib/curl_hash.c
        renamed:    lib/hmac.c -> lib/curl_hmac.c
        renamed:    lib/hostasyn.c -> lib/curl_hostasyn.c
        renamed:    lib/hostcheck.c -> lib/curl_hostcheck.c
        renamed:    lib/hostip.c -> lib/curl_hostip.c
        renamed:    lib/hostip4.c -> lib/curl_hostip4.c
        renamed:    lib/hostip6.c -> lib/curl_hostip6.c
        renamed:    lib/hostsyn.c -> lib/curl_hostsyn.c
        renamed:    lib/http.c -> lib/curl_http.c
        renamed:    lib/http_chunks.c -> lib/curl_http_chunks.c
        renamed:    lib/http_digest.c -> lib/curl_http_digest.c
        renamed:    lib/http_negotiate.c -> lib/curl_http_negotiate.c
        renamed:    lib/http_negotiate_sspi.c -> lib/curl_http_negotiate_sspi.c
        renamed:    lib/http_proxy.c -> lib/curl_http_proxy.c
        renamed:    lib/idn_win32.c -> lib/curl_idn_win32.c
        renamed:    lib/if2ip.c -> lib/curl_if2ip.c
        renamed:    lib/imap.c -> lib/curl_imap.c
        renamed:    lib/inet_ntop.c -> lib/curl_inet_ntop.c
        renamed:    lib/inet_pton.c -> lib/curl_inet_pton.c
        renamed:    lib/krb4.c -> lib/curl_krb4.c
        renamed:    lib/krb5.c -> lib/curl_krb5.c
        renamed:    lib/ldap.c -> lib/curl_ldap.c
        renamed:    lib/llist.c -> lib/curl_llist.c
        renamed:    lib/md4.c -> lib/curl_md4.c
        renamed:    lib/md5.c -> lib/curl_md5.c
        renamed:    lib/memdebug.c -> lib/curl_memdebug.c
        renamed:    lib/mprintf.c -> lib/curl_mprintf.c
        renamed:    lib/multi.c -> lib/curl_multi.c
        renamed:    lib/netrc.c -> lib/curl_netrc.c
        renamed:    lib/non-ascii.c -> lib/curl_non_ascii.c
        renamed:    lib/curl_non-ascii.h -> lib/curl_non_ascii.h
        renamed:    lib/nonblock.c -> lib/curl_nonblock.c
        renamed:    lib/nss.c -> lib/curl_nss.c
        renamed:    lib/nwlib.c -> lib/curl_nwlib.c
        renamed:    lib/nwos.c -> lib/curl_nwos.c
        renamed:    lib/openldap.c -> lib/curl_openldap.c
        renamed:    lib/parsedate.c -> lib/curl_parsedate.c
        renamed:    lib/pingpong.c -> lib/curl_pingpong.c
        renamed:    lib/polarssl.c -> lib/curl_polarssl.c
        renamed:    lib/pop3.c -> lib/curl_pop3.c
        renamed:    lib/progress.c -> lib/curl_progress.c
        renamed:    lib/qssl.c -> lib/curl_qssl.c
        renamed:    lib/rawstr.c -> lib/curl_rawstr.c
        renamed:    lib/rtsp.c -> lib/curl_rtsp.c
        renamed:    lib/security.c -> lib/curl_security.c
        renamed:    lib/select.c -> lib/curl_select.c
        renamed:    lib/sendf.c -> lib/curl_sendf.c
        renamed:    lib/share.c -> lib/curl_share.c
        renamed:    lib/slist.c -> lib/curl_slist.c
        renamed:    lib/smtp.c -> lib/curl_smtp.c
        renamed:    lib/socks.c -> lib/curl_socks.c
        renamed:    lib/socks_gssapi.c -> lib/curl_socks_gssapi.c
        renamed:    lib/socks_sspi.c -> lib/curl_socks_sspi.c
        renamed:    lib/speedcheck.c -> lib/curl_speedcheck.c
        renamed:    lib/splay.c -> lib/curl_splay.c
        renamed:    lib/ssh.c -> lib/curl_ssh.c
        renamed:    lib/sslgen.c -> lib/curl_sslgen.c
        renamed:    lib/ssluse.c -> lib/curl_ssluse.c
        renamed:    lib/strdup.c -> lib/curl_strdup.c
        renamed:    lib/strequal.c -> lib/curl_strequal.c
        renamed:    lib/strerror.c -> lib/curl_strerror.c
        renamed:    lib/strtok.c -> lib/curl_strtok.c
        renamed:    lib/strtoofft.c -> lib/curl_strtoofft.c
        renamed:    lib/telnet.c -> lib/curl_telnet.c
        renamed:    lib/tftp.c -> lib/curl_tftp.c
        renamed:    lib/timeval.c -> lib/curl_timeval.c
        renamed:    lib/transfer.c -> lib/curl_transfer.c
        renamed:    lib/url.c -> lib/curl_url.c
        renamed:    lib/version.c -> lib/curl_version.c
        renamed:    lib/warnless.c -> lib/curl_warnless.c
        renamed:    lib/wildcard.c -> lib/curl_wildcard.c
      
      ----------------------------------------
      5b6e7927
    • Yang Tse's avatar
      build: make use of 93 lib/*.c renamed files · 13606bbf
      Yang Tse authored
      93 *.c source files renamed to use our standard naming scheme.
      
      This change affects 77 files in libcurl's source tree.
      13606bbf
  6. Dec 28, 2012
  7. Dec 14, 2012
  8. Nov 16, 2012
  9. Jun 10, 2012
    • Daniel Stenberg's avatar
      Curl_pgrsDone: return int and acknowledge return code · 6cd084a3
      Daniel Stenberg authored
      Since Curl_pgrsDone() itself calls Curl_pgrsUpdate() which may return an
      abort instruction or similar we need to return that info back and
      subsequently properly handle return codes from Curl_pgrsDone() where
      used.
      
      (Spotted by a Coverity scan)
      6cd084a3
  10. Jan 12, 2012
  11. Nov 24, 2011
    • Jonas Schnelli's avatar
      query-part: ignore the URI part for given protocols · 2c905fd1
      Jonas Schnelli authored
      By setting PROTOPT_NOURLQUERY in the protocol handler struct, the
      protocol will get the "query part" of the URL cut off before the data is
      handled by the protocol-specific code. This makes libcurl adhere to
      RFC3986 section 2.2.
      
      Test 1220 is added to verify a file:// URL with query-part.
      2c905fd1
  12. Oct 21, 2011
    • Daniel Stenberg's avatar
      curl_multi_fdset: correct fdset with FTP PORT use · d7934b8b
      Daniel Stenberg authored
      After a PORT has been issued, and the multi handle would switch to the
      CURLM_STATE_DO_MORE state (which is unique for FTP), libcurl would
      return the wrong fdset to wait for when curl_multi_fdset() is
      called. The code would blindly assume that it was waiting for a connect
      of the second connection, while that isn't true immediately after the
      PORT command.
      
      Also, the function multi.c:domore_getsock() was highly FTP-centric and
      therefore ugly to keep in protocol-agnostic code. I solved this problem
      by introducing a new function pointer in the Curl_handler struct called
      domore_getsock() which is only called during the DOMORE state for
      protocols that set that pointer.
      
      The new ftp.c:ftp_domore_getsock() function now returns fdset info about
      the control connection's command/response handling while such a state is
      in use, and goes over to waiting for a writable second connection first
      once the commands are done.
      
      The original problem could be seen by running test 525 and checking the
      time stamps in the FTP server log. I can verify that this fix at least
      fixes this problem.
      
      Bug: http://curl.haxx.se/mail/lib-2011-10/0250.html
      Reported by: Gokhan Sengun
      d7934b8b
  13. Oct 13, 2011
    • Marcin Adamski's avatar
      tftp.c: TFTP timeout and unexpected block adjustments · 03adff1e
      Marcin Adamski authored
      Set ACK timeout to 5 seconds.
      
      If we are waiting for block X and receive block Y that is the expected one, we
      should send ACK and increase X (which is already implemented). Otherwise drop
      the packet and don't increase retry counter.
      03adff1e
  14. Sep 05, 2011
  15. Jul 26, 2011
  16. Jul 25, 2011
  17. Jul 04, 2011
  18. Jun 04, 2011
  19. May 05, 2011
  20. Apr 27, 2011
  21. Apr 21, 2011
  22. Mar 14, 2011
    • Daniel Stenberg's avatar
      protocols: use CURLPROTO_ internally · 13b64d75
      Daniel Stenberg authored
      The PROT_* set of internal defines for the protocols is no longer
      used. We now use the same bits internally as we have defined in the
      public header using the CURLPROTO_ prefix. This is for simplicity and
      because the PROT_* prefix was already used duplicated internally for a
      set of KRB4 values.
      
      The PROTOPT_* defines were moved up to just below the struct definition
      within which they are used.
      13b64d75
    • Daniel Stenberg's avatar
      protocol handler: added flags field · 8831000b
      Daniel Stenberg authored
      The protocol handler struct got a 'flags' field for special information
      and characteristics of the given protocol.
      
      This now enables us to move away central protocol information such as
      CLOSEACTION and DUALCHANNEL from single defines in a central place, out
      to each protocol's definition. It also made us stop abusing the protocol
      field for other info than the protocol, and we could start cleaning up
      other protocol-specific things by adding flags bits to set in the
      handler struct.
      
      The "protocol" field connectdata struct was removed as well and the code
      now refers directly to the conn->handler->protocol field instead. To
      make things work properly, the code now always store a conn->given
      pointer that points out the original handler struct so that the code can
      learn details from the original protocol even if conn->handler is
      modified along the way - for example when switching to go over a HTTP
      proxy.
      8831000b
  23. Jan 04, 2011
  24. Dec 06, 2010
  25. Nov 10, 2010
  26. Sep 26, 2010
  27. Sep 03, 2010
  28. Aug 10, 2010
  29. Jun 08, 2010
  30. May 21, 2010
    • Daniel Stenberg's avatar
      TFTP: send legal timeout value · d17709da
      Daniel Stenberg authored
      Eric Mertens posted bug #3003705: when we made TFTP use the
      correct timeout option when sent to the server (fixed May 18th
      2010) it became obvious that libcurl used invalid timeout values
      (300 by default while the RFC allows nothing above 255). While of
      course it is obvious that as TFTP has worked thus far without
      being able to set timeout at all, just removing the setting
      wouldn't make any difference in behavior. I decided to still keep
      it (but fix the problem) as it now actually allows for easier
      (future) customization of the timeout.
      
      (http://curl.haxx.se/bug/view.cgi?id=3003705)
      d17709da
    • Daniel Stenberg's avatar
      TFTP: don't ack if wrong block num is received · 0bb6deda
      Daniel Stenberg authored
      If an unexpected block number was received, break out of the
      switch loop.
      0bb6deda
    • Daniel Stenberg's avatar
      TFTP: block id wrap bug fix · 0a29e244
      Daniel Stenberg authored
      In a normal expression, doing [unsigned short] + 1 will not wrap
      at 16 bits so the comparisons and outputs were done wrong. I
      added a macro do make sure it gets done right.
      
      Douglas Kilpatrick filed bug report #3004787 about it:
      http://curl.haxx.se/bug/view.cgi?id=3004787
      0a29e244
Loading