aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
AgeCommit message (Collapse)Author
2006-02-23Peter Su's SOCKS4 fixDaniel Stenberg
2006-02-23Lots of work and analysis by "xbx___" in bug #1431750Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1431750) helped me identify and fix two different but related bugs: 1) Removing an easy handle from a multi handle before the transfer is done could leave a connection in the connection cache for that handle that is in a state that isn't suitable for re-use. A subsequent re-use could then read from a NULL pointer and segfault. 2) When an easy handle was removed from the multi handle, there could be an outstanding c-ares DNS name resolve request. When the response arrived, it caused havoc since the connection struct it "belonged" to could've been freed already. Now Curl_done() is called when an easy handle is removed from a multi handle pre-maturely (that is, before the transfer was complteted). Curl_done() also makes sure to cancel all (if any) outstanding c-ares requests.
2006-02-22Fixed some spelling errors in comments, and extraneous \n in failf logs.Dan Fandrich
2006-02-21Peter Su added support for SOCKS4 proxies. Enable this by setting the proxyDaniel Stenberg
type to the already provided type CURLPROXY_SOCKS4. I added a --socks4 option that works like the current --socks5 option but instead use the socks4 protocol.
2006-02-16Added some clarifying commentsDaniel 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-30Added CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with theDaniel Stenberg
curl tool with --local-port. Plain and simply set the range of ports to bind the local end of connections to. Implemented on to popular demand. Not extensively tested. Please let me know how it works.
2006-01-19Duane Cathey was one of our friends who reported that curl -P [IP]Daniel Stenberg
(CURLOPT_FTPPORT) didn't work for ipv6-enabed curls if the IP wasn't a "native" IP while it works fine for ipv6-disabled builds! In the process of fixing this, I removed the support for LPRT since I can't think of many reasons to keep doing it and asking on the mailing list didn't reveal anyone else that could either. The code that sends EPRT and PORT is now also a lot simpler than before (IMHO).
2006-01-16David Shaw finally removed all traces of Gopher and we are now officiallyDaniel Stenberg
not supporting it. It hasn't been functioning for years anyway, so this is just finally stating what already was true. And a cleanup at the same time.
2005-12-20explain tld_check_name()Daniel Stenberg
2005-12-16Jean Jacques Drouin pointed out that you could only have a user name orDaniel Stenberg
password of 127 bytes or less embedded in a URL, where actually the code uses a 255 byte buffer for it! Modified now to use the full buffer size.
2005-12-067.15.1 with the now to be announced security flaw fixedDaniel Stenberg
2005-11-30cast the va_arg() assignment to ftp_filemethod properlyDaniel Stenberg
2005-11-28new experimental "ftp method" codeDaniel Stenberg
2005-10-27Nis Jorgensen filed bug report #1338648Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1338648) which really is more of a feature request, but anyway. It pointed out that --max-redirs did not allow it to be set to 0, which then would return an error code on the first Location: found. Based on Nis' patch, now libcurl supports CURLOPT_MAXREDIRS set to 0, or -1 for infinity. Added test case 274 to verify.
2005-10-21"Ofer" reported a problem when libcurl re-used a connection and failed to doDaniel Stenberg
it, it could then accidentally actually crash. Presumably, this concerns FTP connections. http://curl.haxx.se/bug/view.cgi?id=1330310
2005-09-29Starting now, the verbose text that goes like "About to connect() to" willDaniel Stenberg
now contain the word "proxy" is the hostname is in fact a proxy. This will help users detect situations when they mistakenly use a proxy.
2005-09-16keep 'socktype' in the connectdata struct and make sure we use that for allDaniel Stenberg
protocol sockets even if the resolved address may say otherwise
2005-09-04Added FTP_SKIP_PASV_IP and --ftp-skip-pasv-ipDaniel Stenberg
2005-09-02John Kelly added TFTP support to libcurl. A bunch of new error codes wasDaniel Stenberg
added. TODO: add them to docs. add TFTP server to test suite. add TFTP to list of protocols whereever those are mentioned.
2005-08-24Toby Peterson added CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessibleDaniel Stenberg
from the command line tool with --ignore-content-length. This will make it easier to download files from Apache 1.x (and similar) servers that are still having problems serving files larger than 2 or 4 GB. When this option is enabled, curl will simply have to wait for the server to close the connection to signal end of transfer. I wrote test case 269 that runs a simple test that this works.
2005-08-17- Jeff Pohlmeyer found out that if you ask libcurl to load a cookiefile (withDaniel Stenberg
CURLOPT_COOKIEFILE), add a cookie (with CURLOPT_COOKIELIST), tell it to write the result to a given cookie jar and then never actually call curl_easy_perform() - the given file(s) to read was never read but the output file was written and thus it caused a "funny" result. - While doing some tests for the bug above, I noticed that Firefox generates large numbers (for the expire time) in the cookies.txt file and libcurl didn't treat them properly. Now it does.
2005-08-07Jon Grubbs filed bug report #1249962 which identified a problem with NTLM on aDaniel Stenberg
HTTP proxy if an FTP URL was given. libcurl now properly switches to pure HTTP internally when an HTTP proxy is used, even for FTP URLs. The problem would also occur with other multi-pass auth methods.
2005-08-07Don't prevent FTPS:// through a http proxy, as we cannot know if it works orDaniel Stenberg
not!
2005-07-28reset the numcookies counter too (I missed it in the previous commit)Daniel Stenberg
2005-07-28now strdups the cookielist inpointer before passed on, as the cookie functionDaniel Stenberg
modifies it
2005-07-27If any of the options CURLOPT_HTTPGET, CURLOPT_POST and CURLOPT_HTTPPOST isDaniel Stenberg
set to 1, CURLOPT_NOBODY will now automatically be set to 0.
2005-07-27Peteris Krumins added CURLOPT_COOKIELIST and CURLINFO_COOKIELIST, which is aDaniel Stenberg
simple interface to extracting and setting cookies in libcurl's internal "cookie jar". See the new cookie_interface.c example code.
2005-07-17Simplified the code within curl_easy_perform() that calls Curl_perform().Daniel Stenberg
Pointed out by Bjorn Reese.
2005-07-12Adrian Schuur added trailer support in the chunked encoding stream. TheDaniel Stenberg
trailer is then sent to the normal header callback/stream.
2005-06-22David Shaw's fix that unifies proxy string treatment so that a proxy givenDaniel Stenberg
with CURLOPT_PROXY can use a http:// prefix and user + password. The user and password fields are now also URL decoded properly. Test case 264 added to verify.
2005-05-31Todd Kulesza reported a flaw in the proxy option, since a numerical IPv6Daniel Stenberg
address was not possible to use. It is now, but requires it written RFC2732-style, within brackets - which incidently is how you enter numerical IPv6 addresses in URLs. Test case 263 added to verify.
2005-05-19additional fix for the malformed URL fix of ydayDaniel Stenberg
2005-05-18Bug report #1204435 identified a problem with malformed URLs likeDaniel Stenberg
"http://somehost?data" as it added a slash too much in the request ("GET /?data/"...). Added test case 260 to verify.
2005-05-14Some patches for (a stricter/smarter) gcc 4.0 andGisle Vanem
warnings like: 'x' may be used uninitialized in this function.
2005-05-12oops, found by bug reported in bug report #1200661Daniel Stenberg
2005-05-12typecast to fix warning on 64bit systemsDaniel Stenberg
2005-04-26Cory Nelson's work on nuking compiler warnings when building on x64 withDaniel Stenberg
VS2005.
2005-04-25Fred New reported a bug where we used Basic auth and user name and password inDaniel Stenberg
.netrc, and when following a Location: the subsequent requests didn't properly use the auth as found in the netrc file. Added test case 257 to verify my fix.
2005-04-19added typecast when converting from long to unsigned short, to prevent ↵Daniel Stenberg
compiler warning
2005-04-18Olivier reported that even though he used CURLOPT_PORT, libcurl clearly stillDaniel Stenberg
used the default port. He was right. I fixed the problem and added the test cases 521, 522 and 523 to verify the fix.
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-04-04hostthre.c: destroy_thread_data() made public. CalledGisle Vanem
from url.c: Curl_disconnect().
2005-03-15Fixed ftp support with uClibc due to differing inet_ntoa_r() behaviour.Dan Fandrich
2005-03-14Removed security.h since it shadows an include file mingw needs when buildingDaniel Stenberg
for SSPI support. The contents of the file has been moved into the krb4.h file.
2005-03-11Fixed some compiler warnings.Dan Fandrich
2005-03-10Christopher R. Palmer made it possible to build libcurl with theDaniel Stenberg
USE_WINDOWS_SSPI on Windows, and then libcurl will be built to use the native way to do NTLM. SSPI also allows libcurl to pass on the current user and its password in the request.
2005-03-09As reported by 'nodak sodak' we should check for a NULL pointer beforeDaniel Stenberg
referencing the proxy name pointer.
2005-02-09prevent a compiler warningDaniel Stenberg
2005-02-09FTP code turned into state machine. Not completely yet, but a good start.Daniel Stenberg
The tag 'before_ftp_statemachine' was set just before this commit in case of future need.