Dan Fandrich
a39ac3d94a
Added user ID support to SOCKS4.
2006-02-24 21:35:48 +00:00
Dan Fandrich
45e4b811b0
Fixed a few more comment typos.
2006-02-23 18:39:22 +00:00
Daniel Stenberg
0e6a1a4420
Peter Su's SOCKS4 fix
2006-02-23 14:42:47 +00:00
Daniel Stenberg
6fdbb01194
Lots of work and analysis by "xbx___" in bug #1431750
...
(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-23 12:20:48 +00:00
Dan Fandrich
75c9430559
Fixed some spelling errors in comments, and extraneous \n in failf logs.
2006-02-22 19:09:33 +00:00
Daniel Stenberg
a15d107dde
Peter Su added support for SOCKS4 proxies. Enable this by setting the proxy
...
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-21 07:46:41 +00:00
Daniel Stenberg
ad6511c313
Added some clarifying comments
2006-02-16 10:02:11 +00:00
Daniel Stenberg
87bcb6f377
Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options that
...
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-02-11 22:35:16 +00:00
Daniel Stenberg
2fbf94b0f3
Added CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with the
...
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-30 08:24:07 +00:00
Daniel Stenberg
fcfd6d9504
Duane Cathey was one of our friends who reported that curl -P [IP]
...
(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-19 23:52:03 +00:00
Daniel Stenberg
67a83c1b34
David Shaw finally removed all traces of Gopher and we are now officially
...
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.
2006-01-16 22:14:37 +00:00
Daniel Stenberg
7d1e3ebeed
explain tld_check_name()
2005-12-20 22:46:12 +00:00
Daniel Stenberg
6dbfce1031
Jean Jacques Drouin pointed out that you could only have a user name or
...
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-16 14:52:16 +00:00
Daniel Stenberg
f49df54a36
7.15.1 with the now to be announced security flaw fixed
2005-12-06 23:05:51 +00:00
Daniel Stenberg
176d4e85e9
cast the va_arg() assignment to ftp_filemethod properly
2005-11-30 13:09:48 +00:00
Daniel Stenberg
0fd282b078
new experimental "ftp method" code
2005-11-28 23:06:00 +00:00
Daniel Stenberg
966fa848a0
Nis Jorgensen filed bug report #1338648
...
(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-27 22:05:38 +00:00
Daniel Stenberg
1a1ab2e2e8
"Ofer" reported a problem when libcurl re-used a connection and failed to do
...
it, it could then accidentally actually crash. Presumably, this concerns FTP
connections. http://curl.haxx.se/bug/view.cgi?id=1330310
2005-10-21 21:00:44 +00:00
Daniel Stenberg
e43217e664
Starting now, the verbose text that goes like "About to connect() to" will
...
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-29 11:37:52 +00:00
Daniel Stenberg
e7093b3ca8
keep 'socktype' in the connectdata struct and make sure we use that for all
...
protocol sockets even if the resolved address may say otherwise
2005-09-16 21:30:08 +00:00
Daniel Stenberg
7e845e7cfd
Added FTP_SKIP_PASV_IP and --ftp-skip-pasv-ip
2005-09-04 05:16:06 +00:00
Daniel Stenberg
56d9624b56
John Kelly added TFTP support to libcurl. A bunch of new error codes was
...
added. TODO: add them to docs. add TFTP server to test suite. add TFTP to
list of protocols whereever those are mentioned.
2005-09-02 15:11:08 +00:00
Daniel Stenberg
a4773fcbbb
Toby Peterson added CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessible
...
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-24 10:57:28 +00:00
Daniel Stenberg
a676c18502
- Jeff Pohlmeyer found out that if you ask libcurl to load a cookiefile (with
...
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-17 08:55:43 +00:00
Daniel Stenberg
493d6033aa
Jon Grubbs filed bug report #1249962 which identified a problem with NTLM on a
...
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-07 22:59:06 +00:00
Daniel Stenberg
aeb04136f7
Don't prevent FTPS:// through a http proxy, as we cannot know if it works or
...
not!
2005-08-07 21:39:44 +00:00
Daniel Stenberg
e358a24a75
reset the numcookies counter too (I missed it in the previous commit)
2005-07-28 21:53:09 +00:00
Daniel Stenberg
ec3f269d1f
now strdups the cookielist inpointer before passed on, as the cookie function
...
modifies it
2005-07-28 21:50:34 +00:00
Daniel Stenberg
726b9e2240
If any of the options CURLOPT_HTTPGET, CURLOPT_POST and CURLOPT_HTTPPOST is
...
set to 1, CURLOPT_NOBODY will now automatically be set to 0.
2005-07-27 22:29:50 +00:00
Daniel Stenberg
2236ba0d20
Peteris Krumins added CURLOPT_COOKIELIST and CURLINFO_COOKIELIST, which is a
...
simple interface to extracting and setting cookies in libcurl's internal
"cookie jar". See the new cookie_interface.c example code.
2005-07-27 22:17:14 +00:00
Daniel Stenberg
4922904991
Simplified the code within curl_easy_perform() that calls Curl_perform().
...
Pointed out by Bjorn Reese.
2005-07-17 12:44:11 +00:00
Daniel Stenberg
465e19dbe9
Adrian Schuur added trailer support in the chunked encoding stream. The
...
trailer is then sent to the normal header callback/stream.
2005-07-12 18:15:34 +00:00
Daniel Stenberg
3b60bb7259
David Shaw's fix that unifies proxy string treatment so that a proxy given
...
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-06-22 22:24:10 +00:00
Daniel Stenberg
300b4a9158
Todd Kulesza reported a flaw in the proxy option, since a numerical IPv6
...
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-31 13:03:26 +00:00
Daniel Stenberg
eff36caea8
additional fix for the malformed URL fix of yday
2005-05-19 07:21:18 +00:00
Daniel Stenberg
4a091bbd8a
Bug report #1204435 identified a problem with malformed URLs like
...
"http://somehost?data " as it added a slash too much in the request ("GET
/?data/"...). Added test case 260 to verify.
2005-05-18 20:01:01 +00:00
Gisle Vanem
ecdcb0ef67
Some patches for (a stricter/smarter) gcc 4.0 and
...
warnings like:
'x' may be used uninitialized in this function.
2005-05-14 06:00:40 +00:00
Daniel Stenberg
3f23e8443e
oops, found by bug reported in bug report #1200661
2005-05-12 13:44:25 +00:00
Daniel Stenberg
5f538ce3f8
typecast to fix warning on 64bit systems
2005-05-12 08:51:30 +00:00
Daniel Stenberg
6b1220b61d
Cory Nelson's work on nuking compiler warnings when building on x64 with
...
VS2005.
2005-04-26 13:08:49 +00:00
Daniel Stenberg
01165e08e0
Fred New reported a bug where we used Basic auth and user name and password in
...
.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-25 21:39:48 +00:00
Daniel Stenberg
8bd6d6a4de
added typecast when converting from long to unsigned short, to prevent compiler warning
2005-04-19 23:37:45 +00:00
Daniel Stenberg
63d109f7be
Olivier reported that even though he used CURLOPT_PORT, libcurl clearly still
...
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-18 19:41:04 +00:00
Daniel Stenberg
6e61939382
GnuTLS support added. There's now a "generic" SSL layer that we use all over
...
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-07 15:27:13 +00:00
Gisle Vanem
0b45431139
hostthre.c: destroy_thread_data() made public. Called
...
from url.c: Curl_disconnect().
2005-04-04 12:30:03 +00:00
Dan Fandrich
efaf688650
Fixed ftp support with uClibc due to differing inet_ntoa_r() behaviour.
2005-03-15 21:00:46 +00:00
Daniel Stenberg
62970da675
Removed security.h since it shadows an include file mingw needs when building
...
for SSPI support. The contents of the file has been moved into the krb4.h file.
2005-03-14 00:00:45 +00:00
Dan Fandrich
fb9ae9d0e2
Fixed some compiler warnings.
2005-03-11 05:49:04 +00:00
Daniel Stenberg
d1d35ba85f
Christopher R. Palmer made it possible to build libcurl with the
...
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-10 23:15:29 +00:00
Daniel Stenberg
0472629222
As reported by 'nodak sodak' we should check for a NULL pointer before
...
referencing the proxy name pointer.
2005-03-09 22:13:52 +00:00
Daniel Stenberg
89cac6f25c
prevent a compiler warning
2005-02-09 22:47:57 +00:00
Daniel Stenberg
6a2e21ec8c
FTP code turned into state machine. Not completely yet, but a good start.
...
The tag 'before_ftp_statemachine' was set just before this commit in case
of future need.
2005-02-09 13:06:40 +00:00
Daniel Stenberg
e6034ea299
Use calloc() to save us the memset() call and terminate conn->host.name
...
properly, to avoid reading uninited variables when using file:// (valgrind)
2005-01-30 12:42:15 +00:00
Daniel Stenberg
c4ff5eb0ca
conn->ip_addr MUST NOT be used on re-used connections
2005-01-29 13:07:16 +00:00
Daniel Stenberg
4551e7ce49
KNOWN_BUGS #17 fixed. A DNS cache entry may not remain locked between two
...
curl_easy_perform() invokes. It was previously unlocked at disconnect, which
could mean that it remained locked between multiple transfers. The DNS cache
may not live as long as the connection cache does, as they are separate.
To deal with the lack of DNS (host address) data availability in re-used
connections, libcurl now keeps a copy of the IP adress as a string, to be able
to show it even on subsequent requests on the same connection.
2005-01-28 22:14:48 +00:00
Daniel Stenberg
177dbc7be0
Ian Ford asked about support for the FTP command ACCT, and I discovered it is
...
present in RFC959... so now (lib)curl supports it as well. --ftp-account and
CURLOPT_FTP_ACCOUNT set the account string. (The server may ask for an account
string after PASS have been sent away. The client responds with "ACCT [account
string]".) Added test case 228 and 229 to verify the functionality. Updated
the test FTP server to support ACCT somewhat.
2005-01-25 22:13:12 +00:00
Daniel Stenberg
7e42cb61f7
FTP third transfer support overhaul. See CHANGES for details.
2005-01-21 09:32:32 +00:00
Daniel Stenberg
a0c8b9bc68
Stephan Bergmann pointed out two flaws in libcurl built with HTTP disabled:
...
1) the proxy environment variables are still read and used to set HTTP proxy
2) you couldn't disable http proxy with CURLOPT_PROXY (since the option was
disabled)
2005-01-19 09:36:44 +00:00
Daniel Stenberg
e0bea7d541
Alex aka WindEagle pointed out that when doing "curl -v dictionary.com", curl
...
assumed this used the DICT protocol. While guessing protocols will remain
fuzzy, I've now made sure that the host names must start with "[protocol]."
for them to be a valid guessable name. I also removed "https" as a prefix that
indicates HTTPS, since we hardly ever see any host names using that.
2005-01-16 08:51:52 +00:00
Daniel Stenberg
e3fa7d021e
Renamed easy.h and multi.h to easyif.h and multiif.h to make sure they don't
...
shadow our public headers with the former names.
2005-01-11 15:25:29 +00:00
Daniel Stenberg
9d1145598a
Bruce Mitchener identified (bug report #1099640 ) the never-ending SOCKS5
...
problem with the version byte and the check for bad versions. Bruce has lots
of clues on this, and based on his suggestion I've now removed the check of
that byte since it seems to be able to contain 1 or 5.
2005-01-10 23:32:14 +00:00
Daniel Stenberg
21bb852750
Pavel Orehov reported memory problems with the multi interface in bug report
...
#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.
2005-01-10 10:07:07 +00:00
Gisle Vanem
b1bdba7db5
Print true netrc name (.netrc/_netrc).
2004-12-17 12:26:18 +00:00
Dan Fandrich
26fe6da93b
Renamed a struct member to avoid conflict with a C++ reserved word.
2004-12-16 21:27:23 +00:00
Daniel Stenberg
0d0d5e7ee3
Harshal Pradhan fixed changing username/password on a persitent HTTP
...
connection.
2004-12-14 21:22:51 +00:00
Gisle Vanem
bdb0620529
Added handling of CURLINFO_SSL_ENGINES;
...
Added Curl_SSL_engines_list(), cleanup SSL in url.c
(no HAVE_OPENSSL_x etc.).
2004-12-13 16:43:00 +00:00
Daniel Stenberg
8a4eb8ed45
move the port number extraction to after the extraction of user name/password,
...
as suggested by Kai Sommerfeld
2004-12-10 15:11:11 +00:00
Daniel Stenberg
ac269a8f68
Dan Fandrich added the --disable-cookies option to configure to build
...
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-12-05 23:59:32 +00:00
Gisle Vanem
d85bc18178
I changed my mind. Remove ioctl() macro in setup.h instead.
2004-11-26 16:08:15 +00:00
Gisle Vanem
af114358c8
Renamed urldata.h members 'ioctl*' to 'ioctrl*' due to
...
clash with djgpp ioctl() macro in setup.h.
2004-11-26 14:57:01 +00:00
Daniel Stenberg
bf51f05a50
FTP improvements:
...
If EPSV, EPRT or LPRT is tried and doesn't work, it will not be retried on
the same server again even if a following request is made using a persistent
connection.
If a second request is made to a server, requesting a file from the same
directory as the previous request operated on, libcurl will no longer make
that long series of CWD commands just to end up on the same spot. Note that
this is only for *exactly* the same dir. There is still room for improvements
to optimize the CWD-sending when the dirs are only slightly different.
Added test 210, 211 and 212 to verify these changes. Had to improve the
test script too and added a new primitive to the test file format.
2004-11-25 22:21:49 +00:00
Daniel Stenberg
3e1caa6185
HTTP "auth done right". See lib/README.httpauth
2004-11-24 16:11:35 +00:00
Daniel Stenberg
1a05a90f1c
David Phillips' FD_SETSIZE fix
2004-11-19 08:52:33 +00:00
Daniel Stenberg
dcea109bb5
Dan Fandrich fix: eliminates some pedantic CodeWarrior compiler warnings and
...
errors.
2004-11-18 14:04:40 +00:00
Daniel Stenberg
5931d43a36
clean up start time and t_startsingle use so that redirect_time works properly
2004-11-15 11:27:03 +00:00
Daniel Stenberg
94043b1150
Dan Fandrich added the --disable-crypto-auth option to configure to allow
...
libcurl to build without Digest support. (I figure it should also explicitly
disable Negotiate and NTLM.)
2004-11-12 09:18:14 +00:00
Daniel Stenberg
59c063dfd3
Fix behaviour when passing NULL to CURLOPT_POSTFIELDS and CURLOPT_HTTPPOST.
2004-11-11 23:11:04 +00:00
Daniel Stenberg
24d47a6e07
Paul Nolan fix to make libcurl build nicely on Windows CE
2004-11-02 10:12:22 +00:00
Daniel Stenberg
e8f85cba0f
Eric Vergnaud pointed out that libcurl didn't treat ?-letters in the user name
...
and password fields properly in URLs, like
ftp://us?er:pass?word@site.com/. Added test 191 to verify the fix.
2004-10-14 13:44:54 +00:00
Daniel Stenberg
5322a86313
another lame attempt to avoid the "warning: will never be executed" warning
...
by gcc 3.4
2004-10-10 14:36:22 +00:00
Daniel Stenberg
c274e51654
use tld_strerror() only if previously detected, since otherwise we can't
...
work with libidn < 0.5.6
2004-10-07 07:41:44 +00:00
Gisle Vanem
071218a201
Fixed tld_check_name(). idna_to_unicode_lzlz() should never fail,
...
but return FALSE if 'uc_name == NULL' just in case.
2004-10-06 18:55:58 +00:00
Gisle Vanem
f0d6cc23ae
USE_LIBIDN: Added Top-level-domain (TLD) check for host->name.
...
Only print a warning if check fails.
2004-10-06 18:40:10 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
1a61bcecfc
minor edit to re-use a variable and to hopefully avoid a (moot) warning
...
about code that won't be reached
2004-10-05 11:03:59 +00:00
Daniel Stenberg
95def48071
Made the dns entry remain locked while a connection to the host remains to
...
allow verbose output during this period. Bertrand Demiddelaer reported and
helped fixing.
2004-10-04 10:36:51 +00:00
Daniel Stenberg
19b284c214
Gisle Vanem provided code that displays an error message when the (libidn
...
based) IDN conversion fails. This is really due to a missing suitable
function in the libidn API that I hope we can remove once libidn gets a
function like this.
2004-10-02 13:01:44 +00:00
Daniel Stenberg
1003628103
Only active the engine code if ssl is enabled. This is how the actual engine
...
member in the struct is used.
2004-09-28 07:11:32 +00:00
Daniel Stenberg
c189687188
allow setting CURLOPT_SSLENGINE to NULL even if no SSL engine is supported
2004-09-25 21:28:26 +00:00
Daniel Stenberg
6a06667cc0
Added CURLOPT_FTPSSLAUTH
2004-09-16 21:45:16 +00:00
Daniel Stenberg
b8b56248bd
- Bug report #1025986 . When following a Location: with a custom Host: header
...
replacement, curl only replaced the Host: header on the initial request
and didn't replace it on the following ones. This resulted in requests with
two Host: headers.
Now, curl checks if the location is on the same host as the initial request
and then continues to replace the Host: header. And when it moves to another
host, it doesn't replace the Host: header but it also doesn't make the
second Host: header get used in the request.
This change is verified by the two new test cases 184 and 185.
2004-09-10 20:58:51 +00:00
Daniel Stenberg
2646af106b
allow a custom "Accept-Encoding:" header override the internally set one
...
that gets set with CURLOPT_ENCODING
2004-08-16 13:25:30 +00:00
Daniel Stenberg
d5bdf5f89c
Ok, setting CURLOPT_POST to 0 will now convert the request to a GET (this
...
remains undocumented as this is not the way we recommend)
2004-08-10 13:21:32 +00:00
Daniel Stenberg
0cfa9b52ae
prevent all the sig and alarm stuff when using ares
2004-07-29 08:06:33 +00:00
Daniel Stenberg
b9f1dd7691
Bertrand Demiddelaer fixed the host name to get setup properly even when
...
a connection is re-used, when a proxy is in use.
2004-07-28 21:27:33 +00:00
Gunter Knauf
03cb3b9db1
ifdef keep_sigact since its only used when SIGALRM is defined.
2004-07-10 23:11:22 +00:00
Daniel Stenberg
17841a20e3
explicit typecasts when converting from long to int to avoid warnings
2004-07-04 21:37:35 +00:00
Daniel Stenberg
d2e6a0583a
made 'connectindex' a long variable to prevent compiler warnings when
...
implicitly converting it to int
2004-07-04 21:36:14 +00:00
Daniel Stenberg
f05d47ddd6
variable type cleanup to fix picky compiler warnings
2004-07-01 07:43:20 +00:00
Daniel Stenberg
185baf036b
NOBODY set TRUE after a POST makes a good HEAD now
2004-06-30 11:09:16 +00:00
Daniel Stenberg
00ee738fdd
typecasts to prevent warnings
2004-06-24 09:14:59 +00:00
Daniel Stenberg
c39858aac0
Source cleanups. The major one being that we now _always_ use a Curl_addrinfo
...
linked list for name resolved data, even on hosts/systems with only IPv4
stacks as this simplifies a lot of code.
2004-06-24 07:43:48 +00:00
Daniel Stenberg
d73425061a
Moved the "About to connect() to" text to the place where the host name is
...
actually known, as before this text lied when used in i.e FTP.
2004-06-22 15:23:01 +00:00
Daniel Stenberg
bd3d5a17b4
Gisle's "SSL patch" from June 16th 2004, modified by me as discussed on the
...
mailing list.
2004-06-18 06:20:43 +00:00
Daniel Stenberg
9f341f9ce5
Gisle Vanem's improved verbose output and timeout handling when connecting to
...
a host name that resolves to multiple IP addresses.
2004-06-10 11:06:21 +00:00
Daniel Stenberg
90037b85d1
Alexander Krasnostavsky's fix to make libcurl build fine with configure
...
--disable-http, which thus builds a libcurl without HTTP support.
2004-06-09 08:23:55 +00:00
Daniel Stenberg
ea81dd9e2e
Alexander Krasnostavsky's FTP third party transfer (proxy) support
2004-06-03 11:41:05 +00:00
Daniel Stenberg
d3f796ac59
Made CURLOPT_UPLOAD and CURLOPT_PUT mean the same thing internally (the
...
previous difference was not clear nor documented properly). They can now both
be used interchangeably, but we prefer UPLOAD to PUT since it is a more
generic term.
2004-06-02 13:57:38 +00:00
Daniel Stenberg
aca79af7de
check for failing strdup()s
2004-05-28 09:56:59 +00:00
Daniel Stenberg
2c43d64302
Added a new 'bit' in the connect struct named 'tunnel_proxy' that is set
...
if a connection is tunneled through a proxy. A tunnel is done with CONNECT,
either when using HTTPS or FTPS, or if explicitly enabled by the app.
2004-05-26 08:54:36 +00:00
Daniel Stenberg
fd802db39f
initial support for "uploading" to file:// URLs
2004-05-25 21:47:29 +00:00
Daniel Stenberg
0912015a5c
preprocessor magic around the libidn idn_free() stuff to remain workable
...
both with older libidn versions without idn_free() and with libidn versions
that gets installed without idn-free.h
2004-05-25 12:00:15 +00:00
Daniel Stenberg
85b2056dc7
only idn_free() if built with libidn
2004-05-24 08:19:37 +00:00
Daniel Stenberg
24420c2191
Simon Josefsson added a idn_free() function in libidn 0.4.5 as a reaction to
...
Gisle's previous mail. We now use this function, and thus we require libidn
0.4.5 or later. No earler version will do.
2004-05-24 07:40:00 +00:00
Daniel Stenberg
59f904d8de
Robert D. Young reported that CURLOPT_COOKIEFILE and CURLOPT_COOKIE could
...
not be used both in one request. Fixed it and added test case 172 to verify.
2004-05-24 07:13:48 +00:00
Daniel Stenberg
cdd70596df
killed trailing whitespace
2004-05-19 09:25:00 +00:00
Daniel Stenberg
8001921112
I made Curl_done() take a pointer-pointer in the first argument instead, and
...
if the connection is killed it blanks the pointer it points to, to make it
easier to detect usage problems whereever Curl_done() is used.
2004-05-17 08:05:46 +00:00
Daniel Stenberg
b121e41ec3
bail out when no memory occurs
2004-05-13 14:12:49 +00:00
Daniel Stenberg
aa3ae01878
clean up and return better on out of memory
2004-05-12 13:05:01 +00:00
Daniel Stenberg
d60c22572b
Curl_done() and the protocol-specific conn->curl_done() functions now all
...
take a CURLcode as a second argument, that is non-zero when Curl_done()
is called after an error was returned from Curl_do() (or similar).
2004-05-12 12:06:39 +00:00
Daniel Stenberg
d301d69fbf
bail out if we can't allocate the new range string, and make use of aprintf()
...
instead of using snprintf() + strdup().
2004-05-12 08:26:56 +00:00
Daniel Stenberg
2f60e91a9b
removed another jhrg-reference in a comment
2004-05-12 07:56:01 +00:00
Daniel Stenberg
98f968f2ee
fixed Curl_open() to not leak anything if one malloc() fails, fix by
...
James Bursa only modified by me.
2004-05-11 21:17:03 +00:00
Daniel Stenberg
bbafb2eb27
curl_global_init_mem() allows the memory functions to be replaced.
...
memory.h is included everywhere for this.
2004-05-11 11:30:23 +00:00
Daniel Stenberg
3394c01826
We don't support any long protocol names so we can use a smaller buffer.
...
Also, make sure we have room for the trailing zero, only scan to size-1.
Gisle Vanem reported.
2004-05-07 18:46:28 +00:00
Daniel Stenberg
91c8be3628
removed two odd comments
2004-05-06 15:17:10 +00:00
Daniel Stenberg
7591e07b7c
do the alarm time-left math using unsigned longs since that is what alarm()
...
returns and uses as input and converting to signed generates warnings and
actually risks loss of accuracy
2004-05-05 07:17:37 +00:00
Daniel Stenberg
35ab93f484
fix_hostname() now (void)s the conn argument to prevent warnings on non-idn
...
enabled builds
2004-05-05 07:08:31 +00:00
Daniel Stenberg
4d9517f0b4
prevent warnings when using the gcc option -Wunreachable-code
2004-05-05 06:57:26 +00:00
Daniel Stenberg
fc6eff13b5
General HTTP authentication cleanup and fixes
2004-05-04 07:52:53 +00:00
Daniel Stenberg
59907ebc0e
fixed the host/proxy name issue when re-using a connection and made IDN names
...
work when using proxy by converting the IDN-name to the ACE-encoded version
before the request-URL is passed to the proxy.
2004-04-29 13:41:48 +00:00
Daniel Stenberg
8ca37dd1c7
encode the correct name
2004-04-29 11:57:52 +00:00
Daniel Stenberg
4b9f8e766d
Made host name and proxy name get stored in a 'struct hostname' and set
...
all things up to work with encoded host names internally, as well as keeping
'display names' to show in debug messages. IDN resolves work for me now using
ipv6, ipv4 and ares resolving. Even cookies on IDN sites seem to do right.
2004-04-27 13:56:23 +00:00
Daniel Stenberg
e218811ca3
made the verbose connect use the proper host name string even when using
...
a proxy
2004-04-26 15:19:55 +00:00
Daniel Stenberg
a9f2274bd8
NI_MAXHOST is not generally available, we use plain 256 bytes for the hostname
...
instead, its only for debug verbose output anyway
2004-04-26 15:14:19 +00:00
Daniel Stenberg
245e3122df
Made defines instead of plain numbers for the Curl_resolv() return code to
...
make the code easier to read
2004-04-26 14:18:00 +00:00
Daniel Stenberg
f5042cce34
IDN adjustments and host cleanups by Gisle
2004-04-26 14:03:25 +00:00
Daniel Stenberg
648e82f05d
Major hostip.c cleanup and split into multiple files and easier #ifdef
...
usage.
2004-04-26 07:20:11 +00:00
Daniel Stenberg
9ba010c629
typecast tolower/toupper arguments to int to make picky compilers complain
...
less
2004-04-21 11:15:02 +00:00
Daniel Stenberg
b7a7600465
Cleaned up hostname/name/gname and path/ppath confusion. Removed the fixed-
...
length limit of the hostname part of the URL.
2004-04-20 07:53:24 +00:00
Daniel Stenberg
b48bf7470d
proper typecast to prevent compiler warning
2004-04-13 10:42:32 +00:00
Daniel Stenberg
ee7d1d0701
remove an long time #defined struct member and use the actual "real" name
...
instead to make it easier to find/read
2004-04-13 07:37:28 +00:00
Daniel Stenberg
4e3aa250c4
Moved the 'tcp_nodelay' member to the proper 'UserDefined' struct within the
...
sessionhandle to make the duphandle() function work as supposed. Also tried
to start document functions the doxygen way (in the headers of the functions).
Can't make it work though...
2004-04-13 07:16:26 +00:00
Daniel Stenberg
8ed44e8dfb
New authentication code added, particularly noticable when doing POST or PUT
...
with Digest or NTLM. libcurl will now use HEAD to negotiate the authentication
and when done perform the requested POST.
2004-04-06 15:14:10 +00:00
Daniel Stenberg
5804c995e1
Use the new HAVE_NI_WITHSCOPEID define instead of merely checking for the
...
existance of NI_WITHSCOPEID since some platforms have that define but still
can't function with it set.
2004-03-31 21:33:52 +00:00
Daniel Stenberg
dd2add82ee
Fixed how the user name is extracted from http_proxy environment variable
...
when set.
2004-03-31 10:46:06 +00:00
Daniel Stenberg
bb3d6e8552
tcp-nodelay patch by Joe Halpin
2004-03-25 13:37:18 +00:00
Daniel Stenberg
1ebda8fa0e
Added CURLOPT_POSTFIELDSIZE_LARGE to offer a large file version of the
...
CURLOPT_POSTFIELDSIZE option to allow really big HTTP POSTs.
2004-03-12 08:55:47 +00:00
Daniel Stenberg
e545e33d5f
Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of -1 for sockets.
2004-03-11 13:13:35 +00:00
Daniel Stenberg
7225b14002
curl_socket_t mistakes cleanup
2004-03-10 16:01:47 +00:00
Daniel Stenberg
59a30e6d9b
prevent harmless compiler warning
2004-03-04 12:57:12 +00:00
Daniel Stenberg
7c85be9435
corrected the reuse_fresh condition
2004-03-02 14:00:44 +00:00
Daniel Stenberg
353f764119
Yet another curl_off_t printf format attempt, we now exclude the %-letter from
...
FORMAT_OFF_T to allow additional options to get specified, like with '"%5"
FORMAT_OFF_T'.
2004-03-02 09:31:18 +00:00
Daniel Stenberg
7ab3b5b3bb
use FORMAT_OFF_T instead of CURL_FORMAT_OFF_T to reduce the complexity of
...
having to redef that name
2004-03-02 07:25:39 +00:00
Daniel Stenberg
cb72a80fe0
Use CURL_FORMAT_OFF_T for printf()inf curl_off_t variables.
2004-03-01 16:28:00 +00:00
Daniel Stenberg
7d2e872828
Only consider the fresh-connection option on the first connection made, not
...
on followed redirections etc. This should fix the bug #905365 , which caused
NTLM to fail with the option set.
2004-03-01 09:43:42 +00:00
Daniel Stenberg
82bd583251
in Curl_disonnect(): call the protocol-specific disconnect function before we
...
unlink the "current" connection struct from the connection cache.
2004-03-01 07:19:26 +00:00
Daniel Stenberg
0ffec4272a
the missing part of Gisle Vanem's connect-timeout fix for win32
2004-02-22 22:31:24 +00:00
Daniel Stenberg
ccdaa0b51f
Make the 'areschannel' get created in the curl_easy_init() and re-use that
...
same channel during the whole curl handle's life until curl_easy_cleanup().
2004-02-16 15:24:22 +00:00
Daniel Stenberg
39926181ea
Fix verbosconnect() when ipv6-enabled to not assume that conn->serv_addr
...
is a valid pointer, but instead always depend on the passed-in dns pointer.
This happens to be NULL when the connection is re-used...
2004-02-16 13:14:55 +00:00
Daniel Stenberg
e4916145ef
Jeff Lawson pointed out that we need to check for a '5' in the version field
...
to properly work with SOCKS5 proxies. I also included some ascii art describing
the SOCKS5 response, as RFC1928 describes. Jeff provided details in bug
report #741841 and here: http://curl.haxx.se/mail/lib-2004-02/0181.html
2004-02-16 07:33:30 +00:00
Daniel Stenberg
7abf2f44ec
in the socks code, make sure we receive Curl_read results in ints and
...
Curl_write in CURLcode, to keep the picky compilers happy
2004-02-13 12:42:37 +00:00
Daniel Stenberg
d57eed6f22
No longer receive the return code in ConnectionKillOne() that wasn't dealt
...
with anyway and thus caused picky compiler to warn.
2004-02-12 09:48:27 +00:00
Daniel Stenberg
50efb8f33e
#if-check for SIGALRM before assuming it is present
2004-02-11 21:11:08 +00:00
Daniel Stenberg
f71139750d
options we get as longs need to be typecasted when assigned to prevent
...
picky compiler warnings
2004-02-05 09:38:56 +00:00
Daniel Stenberg
580a2fe72b
when including ca-bundle.h, don't look in the current dir first, simply use
...
the search path since we want the build-version rather than the one in the
source dir
2004-02-02 10:13:54 +00:00
Daniel Stenberg
2465ff991f
when saving in a cookie jar fails, include the file name in the error message
...
to make it easier to track down
2004-01-26 16:16:44 +00:00
Daniel Stenberg
334c3df09d
Proxy username and password on persistant connections could easily get
...
messed up. Vincent Bronner detected this.
2004-01-23 08:36:03 +00:00
Daniel Stenberg
4120b7b0c0
check the arguments to the socks5 function, as the name and password might
...
be NULL pointers, and if non-NULL if now support zero-length names/passwords
2004-01-23 08:29:56 +00:00
Daniel Stenberg
b791e158f0
use curl_off_t instead of off_t!
2004-01-22 12:45:50 +00:00
Daniel Stenberg
e5cd0cc402
use the proper type for formposts, not the deprecated one
2004-01-22 11:54:00 +00:00
Daniel Stenberg
c8ac7a0d95
Dominick Meglio pointed out FTPS should use default port 990 according to
...
IANA.
2004-01-11 22:56:36 +00:00
Daniel Stenberg
053f6c85ef
updated year in the copyright string
2004-01-07 09:19:33 +00:00
Daniel Stenberg
b60e0fa97e
David J Meyer's large file support.
2004-01-05 22:29:29 +00:00
Daniel Stenberg
84b3c3b569
Make setopt() support CURLOPT_IPRESOLVE...
2003-12-19 08:10:09 +00:00
Daniel Stenberg
8146d46386
Gisle Vanem's minor fixes
2003-12-19 08:03:15 +00:00
Daniel Stenberg
3788f25eac
added a library-wide interface for doing dns cache pruning, and no longer
...
make the pruning at each name lookup, only in Curl_done().
2003-12-15 17:33:49 +00:00
Daniel Stenberg
50e7545118
Giuseppe Attardi fixed a really tricky bug
2003-12-15 14:48:37 +00:00
Daniel Stenberg
800052dc50
use the HAVE_KRB4 define instead of just KRB4
2003-12-02 13:27:29 +00:00
Daniel Stenberg
d1d417664e
Gisle Vanem fixed the check-order for FTPS and FTP.
2003-12-02 06:25:41 +00:00
Daniel Stenberg
1e98727c55
FTPS support added as RFC2228 and the murray-ftp-auth-ssl draft describe it
2003-11-24 07:15:37 +00:00
Daniel Stenberg
af9dc9f128
Gaz Iqbal fixed a range string memory leak!
2003-11-24 07:10:02 +00:00
Daniel Stenberg
7bee4140e8
respect bits.close even if an error already is set, but make sure that the
...
existing error is the one returned back
2003-11-19 14:35:40 +00:00
Daniel Stenberg
ad77f760cf
Added CURLOPT_NETRC_FILE.
2003-11-11 14:30:43 +00:00
Daniel Stenberg
e9c835ad06
David Hull made the file: URL parser also accept the somewhat sloppy file
...
syntax: file:/path. I added test case 203 to verify this.
2003-10-29 09:53:21 +00:00
Daniel Stenberg
1cdc66d927
overlapping memory chunks with strcpy(), detected by the friendly valgrind
2003-10-28 09:17:15 +00:00
Daniel Stenberg
d1c08e1d85
conn->user and conn->passwd will now always be set to point to something.
...
If not user or password is set, they will point to a "" string.
2003-10-21 06:34:15 +00:00
Daniel Stenberg
65dab79ca5
gcc -Wshadow complaints fixed
2003-10-18 20:14:33 +00:00
Daniel Stenberg
ce5db9a86e
Dominick Meglio implemented CURLOPT_MAXFILESIZE and --max-filesize.
2003-10-17 13:11:00 +00:00
Daniel Stenberg
679654bd47
o the name and password arrays are 256 bytes, so let's accept that lengthy
...
input
o have ->passwd and ->name be NULL if no name/passwd was given
o only set default user+password for FTP if no userpwd was given
2003-10-17 09:28:00 +00:00
Daniel Stenberg
22adcb9cd1
password promting support removed from libcurl
2003-10-16 14:08:59 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
d1a3c9944e
Lachlan O'Dea fixed a resume problem: "If I set CURLOPT_RESUME_FROM, perform
...
an HTTP download, then reset CURLOPT_RESUME_FROM to 0, the next download still
has a Range header with a garbage value." bug report #820502
2003-10-09 20:04:47 +00:00
Daniel Stenberg
09ccfcdcd4
Markus Moeller's SPNEGO patch applied, with my edits, additions and minor
...
cleanups.
2003-09-19 12:56:22 +00:00
Daniel Stenberg
951e2a6545
If a connection is closed down and it had some kind of NTLM involved, we
...
reset the authentication state to make it restart on the next connection.
This of course because NTLM is connection-oriented, whilst all other
authentication schemes are not.
2003-09-15 22:33:18 +00:00
Daniel Stenberg
f2d422235b
Early Ehlinger's CURLOPT_FTP_RESPONSE_TIMEOUT patch applied.
2003-09-03 22:02:40 +00:00
Daniel Stenberg
cafcc242e6
Joerg Mueller-Tolk's fix to better deal with user+passwords for proxies
2003-09-03 21:47:41 +00:00
Daniel Stenberg
fa162e8feb
CURLOPT_BUFFERSIZE must not be smaller than 0 (zero) as that is impossible
...
for us to deal with
2003-08-28 11:28:55 +00:00
Daniel Stenberg
394faaeb97
setting WRITEFUNCTION or READFUNCTION to NULL will now reset the callback
...
pointers to the internal default functions
2003-08-17 13:32:37 +00:00
Daniel Stenberg
3454319c17
prevent memory leak when going out of memory
2003-08-14 14:20:03 +00:00