aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
AgeCommit message (Collapse)Author
2010-05-07multi interface: missed storing connection timeDaniel Stenberg
Dirk Manske reported a regression. When connecting with the multi interface, there were situations where libcurl wouldn't store connect time correctly as it used to (and is documented to) do. Using his fine sample program we could repeat it, and I wrote up test case 573 using that code. The problem does not easily show itself using the local test suite though. The fix, also as suggested by Dirk, is a bit on the ugly side as it adds yet another call to Curl_verboseconnect() and setting the TIMER_CONNECT time. That situation is subject for some closer inspection in the future.
2010-05-07verboseconnect: so the verbose checking within the functionDaniel Stenberg
As the function is used more than once and libcurl can be built without it, do the conditional check within the verboseconnect() function itself.
2010-05-07sendrecv: split the I/O handling into private handlerHoward Chu
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.
2010-04-29telnet: Allow programatic use of telnet.Ben Greear
The main change is to allow input from user-specified methods, when they are specified with CURLOPT_READFUNCTION. All calls to fflush(stdout) in telnet.c were removed, which makes using 'curl telnet://foo.com' painful since prompts and other data are not always returned to the user promptly. Use 'curl --no-buffer telnet://foo.com' instead. In general, the user should have their CURLOPT_WRITEFUNCTION do a fflush for interactive use. Also fix assumption that reading from stdin never returns < 0. Old code could crash in that case. Call progress functions in telnet main loop. Signed-off-by: Ben Greear <greearb@candelatech.com>
2010-04-16Curl_setup_transfer: no longer returns anythingDaniel Stenberg
This function could only return CURLE_OK and by changing it to a void instead, we can simplify code all over.
2010-04-15Remove redundant conditionalDan Fandrich
2010-03-27allow user+password in the URL for all protocolsBen Greear
Ben Greear brought a patch that from now on allows all protocols to specify name and user within the URL, in the same manner HTTP and FTP have been allowed to in the past - although far from all of the libcurl supported protocols actually have that feature in their URL definition spec.
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-03-05Constantine Sapuntzakis detected and fixed a double free in builds doneYang Tse
with threaded resolver enabled (Windows default configuration) that would get triggered when a curl handle is closed while doing DNS resolution.
2010-02-24fix compiler warningYang Tse
2010-02-23fix compiler warningYang Tse
2010-02-06OOM handling fixYang Tse
2010-02-04fix printf-style format stringsYang Tse
2010-01-28fix printf-style format stringsYang Tse
2010-01-27fix compiler warningYang Tse
2010-01-23adjust preprocessor symbol definition check relative to resolver specialtyYang Tse
2010-01-22wrap long lines and do some indent policingDaniel Stenberg
2010-01-22Definitions of resolver specialty compile-time defines CURLRES_* movedYang Tse
from hostip.h to setup.h in order to allow proper inclusion in any file. This represents no functional change at all in which resolver is used, everything still works as usual, internally and externally there is no difference in behavior.
2010-01-22s/RTPFUNCTION/INTERLEAVEFUNCTION/Daniel Stenberg
s/RTPDATA/INTERLEAVEDATA/
2010-01-21fix compiler warningYang Tse
2010-01-21Chris Conroy brought support for RTSP transfers, and with it comes 8(!) newDaniel Stenberg
libcurl options for controlling what to get and how to receive posssibly interleaved RTP data. Initial commit.
2010-01-06Julien Chaffraix fixed so that the fragment part in an URL is not sent to ↵Claes Jakobsson
the server anymore
2010-01-01update copyright year since we are in 2010 nowDaniel Stenberg
2010-01-01- Ingmar Runge enhanced libcurl's FTP engine to support the PRET command. ThisDaniel Stenberg
command is a special "hack" used by the drftpd server, but even though it is a custom extension I've deemed it fine to add to libcurl since this server seems to survive and people keep using it and want libcurl to support it. The new libcurl option is named CURLOPT_FTP_USE_PRET, and it is also usable from the curl tool with --ftp-pret. Using this option on a server that doesn't support this command will make libcurl fail.
2009-12-31turned CURLOPT_MAIL_RCPT into a curl_slist list instead to support multipleDaniel Stenberg
receivers, and made the command line tool thus support the option specified many times
2009-12-30VMS specific preprocessor symbol checking adjustmentsYang Tse
2009-12-17uh, assign the bool it points to properlyDaniel Stenberg
2009-12-17Stop overloading the conn->protocol field with the PROT_MISSING bit. ItDaniel Stenberg
really didn't belong there and had no real point.
2009-12-17Remove pointless storing of the protocol as a string within the connectdataDaniel Stenberg
struct, and instead use the already stored string in the handler struct.
2009-12-16Follow-up fix for the proxy fix I did for Jon Nelson's bug. It turned out IDaniel Stenberg
was a bit too quick and broke test case 1101 with that change. The order of some of the setups is sensitive. I now changed it slightly again.
2009-12-14- Jon Nelson found a regression that turned out to be a flaw in how libcurlDaniel Stenberg
detects and uses proxies based on the environment variables. If the proxy was given as an explicit option it worked, but due to the setup order mistake proxies would not be used fine for a few protocols when picked up from '[protocol]_proxy'. Obviously this broke after 7.19.4. I now also added test case 1106 that verifies this functionality. (http://curl.haxx.se/bug/view.cgi?id=2913886)
2009-12-12introducing IMAP, POP3 and SMTP support (still lots of polish left to do)Daniel Stenberg
2009-11-20- Constantine Sapuntzakis identified a write after close, as the sockets wereDaniel Stenberg
closed by libcurl before the SSL lib were shutdown and they may write to its socket. Detected to at least happen with OpenSSL builds.
2009-11-20- Jad Chamcham pointed out a bug with connection re-use. If a connection hadDaniel Stenberg
CURLOPT_HTTPPROXYTUNNEL enabled over a proxy, a subsequent request using the same proxy with the tunnel option disabled would still wrongly re-use that previous connection and the outcome would only be badness.
2009-11-17- Constantine Sapuntzakis provided another fix for the DNS cache that couldDaniel Stenberg
end up with entries that wouldn't time-out: 1. Set up a first web server that redirects (307) to a http://server:port that's down 2. Have curl connect to the first web server using curl multi After the curl_easy_cleanup call, there will be curl dns entries hanging around with in_use != 0. (http://curl.haxx.se/bug/view.cgi?id=2891591)
2009-11-14- Constantine Sapuntzakis provided the fix that ensures that an SSL connectionYang Tse
won't be reused unless protection level for peer and host verification match.
2009-10-08Attempt to silence bogus compiler warning: "Potential null pointer dereference"Yang Tse
2009-09-17Attempt to silence bogus compiler warning: "Potential null pointer dereference"Yang Tse
2009-08-21- Lots of good work by Krister Johansen, mostly related to pipelining:Daniel Stenberg
Fix SIGSEGV on free'd easy_conn when pipe unexpectedly breaks Fix data corruption issue with re-connected transfers Fix use after free if we're completed but easy_conn not NULL
2009-08-11- Benbuck Nason posted the bug report #2835196Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=2835196), fixing a few compiler warnings when mixing ints and bools.
2009-08-01- Alexander Beedie provided the patch for a noproxy problem: If I have setDaniel Stenberg
CURLOPT_NOPROXY to "*", or to a host that should not use a proxy, I actually could still end up using a proxy if a proxy environment variable was set.
2009-07-22- Added CURLOPT_SSH_KNOWNHOSTS, CURLOPT_SSH_KEYFUNCTION, CURLOPT_SSH_KEYDATA.Daniel Stenberg
They introduce known_host support for SSH keys to libcurl. See docs for details.
2009-06-16- When doing non-anonymous ftp via http proxies and the password is notMichal Marek
provided in the url, add it there (squid needs this).
2009-06-12include <limits.h> for INT_MAX definitionYang Tse
2009-06-12fix compiler warningYang Tse
2009-06-10- Fabian Keil ran clang on the (lib)curl code, found a bunch of warnings andDaniel Stenberg
contributed a range of patches to fix them.
2009-06-10Adjusted to take in account that...Yang Tse
With the curl memory tracking feature decoupled from the debug build feature, CURLDEBUG and DEBUGBUILD preprocessor symbol definitions are used as follows: CURLDEBUG used for curl debug memory tracking specific code (--enable-curldebug) DEBUGBUILD used for debug enabled specific code (--enable-debug)
2009-05-29corrected commentsDaniel Stenberg
2009-05-28fix compiler warning: unused parameterYang Tse
2009-05-27- Mike Crowe pointed out that setting CURLOPT_USERPWD to NULL used to clearDaniel Stenberg
the auth credentials back in 7.19.0 and earlier while now you have to set "" to get the same effect. His patch brings back the ability to use NULL.