aboutsummaryrefslogtreecommitdiff
path: root/lib/easy.c
AgeCommit message (Collapse)Author
2007-11-24struct HandleData is now called struct SingleRequest, and is only for data thatDaniel Stenberg
is inited at the start of the DO action. I removed the Curl_transfer_keeper struct completely, and I had to move out a few struct members (that had to be set before DO or used after DONE) to the UrlState struct. The SingleRequest struct is accessed with SessionHandle->req. One of the biggest reasons for doing this was the bunch of duplicate struct members in HandleData and Curl_transfer_keeper since it was really messy to keep track of two variables with the same name and basically the same purpose!
2007-11-20white space changes only to clean up indent and source widthDaniel Stenberg
2007-11-05removed space after if and while before the parenthesis for better source codeDaniel Stenberg
consistency
2007-08-26Fixed some minor mismatched types found by splint.Dan Fandrich
2007-08-01Patrick Monnerat and I modified libcurl so that now it *copies* all stringsDaniel Stenberg
passed to it with curl_easy_setopt()! Previously it has always just refered to the data, forcing the user to keep the data around until libcurl is done with it. That is now history and libcurl will instead clone the given strings and keep private copies.
2007-07-23Implemented only the parts of Patrick Monnerat's OS/400 patch that renamedDan Fandrich
some few internal identifiers to avoid conflicts, which could be useful on other platforms.
2007-07-11added NetWare-own file to provide some init functions (for now only CLIB);Gunter Knauf
added call to netware_init() in curl_global_init() to make sure it gets called before any library functions get used.
2007-06-27Add two new options for the SFTP/SCP/FILE protocols: CURLOPT_NEW_FILE_PERMSJames Housley
and CURLOPT_NEW_DIRECTORY_PERMS. These control the premissions for files and directories created on the remote server. CURLOPT_NEW_FILE_PERMS defaults to 0644 and CURLOPT_NEW_DIRECTORY_PERMS defaults to 0755
2007-05-31When transferring 500 downloads in parallel with a c-ares enabled build onlyDaniel Stenberg
to find that it crashed miserably, and this was due to some select()isms left in the code. This was due to API restrictions in c-ares 1.3.x, but with the upcoming c-ares 1.4.0 this is no longer the case so now libcurl runs much better with c-ares and the multi interface with > 1024 file descriptors in use.
2007-04-28Frank Hempel fixed a curl_easy_duphandle() crash on a handle that hadDaniel Stenberg
been removed from a multi handle, and then fixed another flaw that prevented curl_easy_duphandle() to work even after the first fix - the handle was still marked as using the multi interface.
2007-04-08fix out of memory handling issueYang Tse
2007-04-03Rob Jones fixed better #ifdef'ing for a bunch of #include lines.Daniel Stenberg
2007-03-31When curl_easy_duphandle() fails because it can't get or make a connectionDaniel Stenberg
cache, we must make sure not to derefence the NULL pointer... CID 6 coverity.com scan
2007-03-27New Internal wrapper function Curl_select() around select (2), itYang Tse
uses poll() when a fine poll() is available, so now libcurl can be built without select() support at all if a fine poll() is available.
2007-02-28proper symbol definition check for all AmigaOS flavoursYang Tse
2007-02-26Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-filesGisle Vanem
since they're already included through "setup.h".
2007-02-16use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handlingYang Tse
2007-01-31add debug messages for initialization failuresYang Tse
2007-01-28curl_easy_reset() now resets the CA bundle path correctlyDaniel Stenberg
2006-12-29curl_easy_duphandle() sets the magic number in the new handleDaniel Stenberg
2006-12-22- Robert Foreman provided a prime example snippet showing how libcurl wouldDaniel Stenberg
get confused and not acknowledge the 'no_proxy' variable properly once it had used the proxy and you re-used the same easy handle. I made sure the proxy name is properly stored in the connect struct rather than the sessionhandle/easy struct.
2006-12-05Jared Lundell filed bug report #1604956Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1604956) which identified setting CURLOPT_MAXCONNECTS to zero caused libcurl to SIGSEGV. Starting now, libcurl will always internally use no less than 1 entry in the connection cache.
2006-11-02James Housley brought support for SCP transfersDaniel Stenberg
2006-10-18Check for USE_WINSOCK instead of WIN32 where the check was doneYang Tse
to verify winsock API availability.
2006-10-11Remove redundant __CYGWIN__ symbol checkYang Tse
2006-10-04Dmitriy Sergeyev provided an example source code that crashed CVS libcurlDaniel Stenberg
but that worked nicely in 7.15.5. I converted it into test case 532 and fixed the problem.
2006-09-09iconv-data needs to be fully reallocated (to prevent a double-free).Gisle Vanem
2006-09-09Duplicate iconv-data too in curl_easy_duphandle().Gisle Vanem
2006-09-07Major overhaul introducing http pipelining support and shared connectionDaniel Stenberg
cache within the multi handle.
2006-09-03Simplified #ifdef on WIN32; the statementGisle Vanem
" !defined(__GNUC__) || defined(__MINGW32__)" implies CygWin.
2006-08-30Removed "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.Gisle Vanem
2006-08-29Watcom lacks <sys/time.h>.Gisle Vanem
2006-07-25Silence iconv() warnings.Gisle Vanem
2006-07-11Moved strdup replacement from src/main.c into src/strdup.c so it's availableDan Fandrich
in libcurl as well, if necessary.
2006-07-07Ingmar Runge provided a source snippet that caused a crash. The reason forDaniel Stenberg
the crash was that libcurl internally was a bit confused about who owned the DNS cache at all times so if you created an easy handle that uses a shared DNS cache and added that to a multi handle it would crash. Now we keep more careful internal track of exactly what kind of DNS cache each easy handle uses: None, Private (allocated for and used only by this single handle), Shared (points to a cache held by a shared object), Global (points to the global cache) or Multi (points to the cache within the multi handle that is automatically shared between all easy handles that are added with private caches).
2006-04-07First commit of David McCreedy's EBCDIC and TPF changes.Daniel Stenberg
2006-02-11Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options thatDaniel Stenberg
an app can use to let libcurl only connect to a remote host and then extract the socket from libcurl. libcurl will then not attempt to do any transfer at all after the connect is done.
2006-01-15Bryan Henderson turned the 'initialized' variable for curl_global_init()Daniel Stenberg
into a counter, and thus you can now do multiple curl_global_init() and you are then supposed to do the same amount of calls to curl_global_cleanup(). Bryan also updated the docs accordingly.
2005-07-17Simplified the code within curl_easy_perform() that calls Curl_perform().Daniel Stenberg
Pointed out by Bjorn Reese.
2005-04-07GnuTLS support added. There's now a "generic" SSL layer that we use all overDaniel Stenberg
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
2005-03-31Updated the copyright year since changes have been this year.Daniel Stenberg
2005-02-09better error checking and SSL init by David ByronDaniel Stenberg
2005-01-29Define CURL_MULTIEASY when building this, to use my new curl_easy_perform()Daniel Stenberg
that uses the multi interface to run the request. It is a great testbed for the multi interface and I believe we shall do it this way for real in the future when we have a successor to curl_multi_fdset().
2005-01-11Renamed easy.h and multi.h to easyif.h and multiif.h to make sure they don'tDaniel Stenberg
shadow our public headers with the former names.
2005-01-10Pavel Orehov reported memory problems with the multi interface in bug reportDaniel Stenberg
#1098843. In short, a shared DNS cache was setup for a multi handle and when the shared cache was deleted before the individual easy handles, the latter cleanups caused read/writes to already freed memory.
2004-12-22C ensures that static variables are initialized to 0Dan Fandrich
2004-12-05Dan Fandrich added the --disable-cookies option to configure to buildDaniel Stenberg
libcurl without cookie support. This is mainly useful if you want to build a minimalistic libcurl with no cookies support at all. Like for embedded systems or similar.
2004-11-11Fix behaviour when passing NULL to CURLOPT_POSTFIELDS and CURLOPT_HTTPPOST.Daniel Stenberg
2004-11-02Paul Nolan fix to make libcurl build nicely on Windows CEDaniel Stenberg
2004-10-04Made the dns entry remain locked while a connection to the host remains toDaniel Stenberg
allow verbose output during this period. Bertrand Demiddelaer reported and helped fixing.