aboutsummaryrefslogtreecommitdiff
path: root/lib/url.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-21Make the do_complete() function not get called until the DO actually isDaniel Stenberg
compelete, which bascially means when used with the multi interface
2007-11-20remove the unconditional enabling of cookies if you set a share to use!Daniel Stenberg
2007-11-15Rearranged code and changed Curl_readwrite_init() and Curl_pre_readwrite() intoDaniel Stenberg
do_init() and do_complete() which now are called first and last in the DO function. It simplified the flow in multi.c and the functions got more sensible names!
2007-11-12comment languageDaniel Stenberg
2007-11-12Bug report #1830637 (http://curl.haxx.se/bug/view.cgi?id=1830637), which wasDaniel Stenberg
forwarded from the Gentoo bug tracker by Daniel Black and was originally submitted by Robin Johnson, pointed out that libcurl would do bad memory references when it failed and bailed out before the handler thing was setup. My fix is not done like the provided patch does it, but instead I make sure that there's never any chance for a NULL pointer in that struct member.
2007-11-08Fix compiler warning: integral size mismatch in argumentYang Tse
2007-11-05removed space after if and while before the parenthesis for better source codeDaniel Stenberg
consistency
2007-10-30Fixed an OOM problem with file: URLsDan Fandrich
Moved Curl_file_connect into the protocol handler struct.
2007-10-26typecast to prevent compiler warningYang Tse
2007-10-25Don't assume there's a sessionhandle around when a connection is disconnected,Daniel Stenberg
so do the data->reqdata.current_conn assignment when we know there is an easy handle existing! Fixes the valgrind report on test 509.
2007-10-23Bug report #1812190 (http://curl.haxx.se/bug/view.cgi?id=1812190) points outDaniel Stenberg
that libcurl tried to re-use connections a bit too much when using non-SSL protocols tunneled over a HTTP proxy.
2007-10-22Michal Marek forwarded the bug reportDaniel Stenberg
https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP redirect to FTP that caused memory havoc. His work together with my efforts created two fixes: #1 - FTP::file was moved to struct ftp_conn, because is has to be dealt with at connection cleanup, at which time the struct HandleData could be used by another connection. Also, the unused char *urlpath member is removed from struct FTP. #2 - provide a Curl_reset_reqproto() function that frees data->reqdata.proto.* on connection setup if needed (that is if the SessionHandle was used by a different connection).
2007-10-22Bug report #1815530 (http://curl.haxx.se/bug/view.cgi?id=1815530) points outDaniel Stenberg
that specifying a proxy with a trailing slash didn't work (unless it also contained a port number).
2007-10-20We use this ZERO_NULL to avoid picky compiler warnings,Yang Tse
when assigning a NULL pointer to a function pointer var.
2007-10-20Fix compiler warning: conversion from "int" to "unsigned short" may lose ↵Yang Tse
significant bits
2007-10-18Allow CURLOPT_COPYPOSTFIELDS with explicit data size = 0Patrick Monnerat
2007-10-18Avoid a NULL pointer dereference in an OOM condition.Dan Fandrich
2007-10-17Fix overflow detection, take four. Avoiding zero size malloc.Yang Tse
2007-10-17Fix overflow detection, thanks to Patrick Monnerat detecting testYang Tse
failure condition: http://curl.haxx.se/mail/lib-2007-10/0152.html
2007-10-17We use this ZERO_NULL to avoid picky compiler warnings,Yang Tse
when assigning a NULL pointer to a function pointer var.
2007-10-16ANSI C compliant overflow checkYang Tse
2007-10-16Fixed compiler warning re: unused variable `bigsize'Dan Fandrich
2007-10-15Fix dynamic CURLOPT_POSTFIELDS bug: back to static.Patrick Monnerat
CURLOPT_COPYPOSTFIELDS option added for dynamic. Fix some OS400 features.
2007-10-15Fix LDAP compile error when LDAP is not available.Dan Fandrich
Fixed a typo in the LDAP configure code and made sure NULL is defined in a test programs that need it.
2007-10-13Made a few more functions static with the protocol handler table in place.Dan Fandrich
2007-10-12another Curl_handler fix, the #ifdefs got a bit mixed up...Daniel Stenberg
2007-10-12Fixed a few compile errors and warnings.Dan Fandrich
2007-10-12Added per-protocol callback static tables, replacing callback ptr storagePatrick Monnerat
in the connectdata structure by a single handler table ptr.
2007-10-05Michael Wallner made the CULROPT_COOKIELIST option support a new magicDaniel Stenberg
string: "FLUSH". Using that will cause libcurl to flush its cookies to the CURLOPT_COOKIEJAR file.
2007-10-03Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION andDaniel Stenberg
CURLOPT_OPENSOCKETDATA to set a callback that allows an application to replace the socket() call used by libcurl. It basically allows the app to change address, protocol or whatever of the socket. (I also did some whitespace indent/cleanups in lib/url.c which kind of hides some of these changes, sorry for mixing those in.)
2007-10-03Based on a patch brought by Johnny Luong, libcurl now offersDaniel Stenberg
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 and the curl tool --hostpubmd5. They both make the SCP or SFTP connection verify the remote host's md5 checksum of the public key before doing a connect, to reduce the risk of a man-in-the-middle attack.
2007-10-02Fix compiler warningYang Tse
2007-09-27Enabled a few more gcc warnings with --enable-debug. Renamed a fewDan Fandrich
variables to avoid shadowing global declarations.
2007-09-26Philip Langdale provided the new CURLOPT_POST301 option forDaniel Stenberg
curl_easy_setopt() that alters how libcurl functions when following redirects. It makes libcurl obey the RFC2616 when a 301 response is received after a non-GET request is made. Default libcurl behaviour is to change method to GET in the subsequent request (like it does for response code 302 - because that's what many/most browsers do), but with this CURLOPT_POST301 option enabled it will do what the spec says and do the next request using the same method again. I.e keep POST after 301. The curl tool got this option as --post301 Test case 1011 and 1012 were added to verify.
2007-08-31Renamed the CURLE_FTP_SSL_FAILED error code to CURLE_USE_SSL_FAILED.Dan Fandrich
Renamed the curl_ftpssl enum to curl_usessl and its enumerated constants, creating macros for backward compatibility.
2007-08-30Renamed several libcurl error codes and options to make them more generalDan Fandrich
and allow reuse by multiple protocols. Several unused error codes were removed. In all cases, macros were added to preserve source (and binary) compatibility with the old names. These macros are subject to removal at a future date, but probably not before 2009. An application can be tested to see if it is using any obsolete code by compiling it with the CURL_NO_OLDIES macro defined. Documented some newer error codes in libcurl-error(3)
2007-08-29Added lots of constsDan Fandrich
2007-08-26Fixed some minor mismatched types found by splint.Dan Fandrich
2007-08-16added basic ldaps support; for now its ifdef'd with HAVE_LDAP_SSL unless we ↵Gunter Knauf
know its fully working, and available with all LDAP SDKs. Win32 requires to have the trusted CA in local keystore - I've not found yet a way to disable the cert check.
2007-08-11Patrick Monnerat modified the LDAP code and approach in curl. Starting now,Daniel Stenberg
the configure script checks for openldap and friends and we link with those libs just like we link all other third party libraries, and we no longer dlopen() those libraries. Our private header file lib/ldap.h was renamed to lib/curl_ldap.h due to this. I set a tag in CVS (curl-7_17_0-preldapfix) just before this commit, just in case.
2007-08-07Fixed torture test for test 509Dan Fandrich
2007-08-07Fixed some icc compiler warnings.Dan Fandrich
2007-08-04Fixed a couple of compiler warnings.Dan Fandrich
2007-08-03Refactored CreateConnection() somewhat to reduce its length by splittingDan Fandrich
it into a few new functions. Fixed a few leaks in out of memory conditions, including for test case 231.
2007-08-03The previous commit to force the use of libssh2-0.16 by removingJames Housley
LIBSSH2_APINO
2007-08-02Scott Cantor filed bug report #1766320Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1766320) pointing out that the libcurl code accessed two curl_easy_setopt() options (CURLOPT_DNS_CACHE_TIMEOUT and CURLOPT_DNS_USE_GLOBAL_CACHE) as ints even though they're documented to be passed in as longs, and that makes a difference on 64 bit architectures.
2007-08-02Fixed a compiler warning.Dan Fandrich
2007-08-02Dmitriy Sergeyev reported a regression: resumed file:// transfers brokeDaniel Stenberg
after 7.16.2. This is much due to the different treatment file:// gets internally, but now I added test 231 to make it less likely to happen again without us noticing!
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.