Linus Nielsen Feltzing
2f5e99ca02
New FTP CCC functionality - adds passive and active mode to accomodate for different server behaviour
2007-02-20 22:02:11 +00:00
Yang Tse
300cbc2e21
Michal Marek comment fix
2007-02-18 00:54:26 +00:00
Daniel Stenberg
dca8f962e0
maxdownload is actually -1 for unlimited
2007-02-16 15:27:49 +00:00
Daniel Stenberg
4efa0d9f68
ftp@example.com is now the new anonymous FTP password. I opted for 'ftp' on
...
the left side of @ to make it short(er).
2007-02-13 22:50:16 +00:00
Daniel Stenberg
7f70dbcad5
Rob Crittenden added support for NSS (Network Security Service) for the
...
SSL/TLS layer. http://www.mozilla.org/projects/security/pki/nss/
2007-02-12 22:32:37 +00:00
Daniel Stenberg
28b932fb4e
- Shmulik Regev fixed so that the final CRLF of HTTP response headers are sent
...
to the debug callback.
- Shmulik Regev added CURLOPT_HTTP_CONTENT_DECODING and
CURLOPT_HTTP_TRANSFER_DECODING that if set to zero will disable libcurl's
internal decoding of content or transfer encoded content. This may be
preferable in cases where you use libcurl for proxy purposes or similar. The
command line tool got a --raw option to disable both at once.
2007-02-12 21:13:47 +00:00
Daniel Stenberg
91386937ff
- Michael Wallner provided a patch that adds support for CURLOPT_TIMEOUT_MS
...
and CURLOPT_CONNECTTIMEOUT_MS that, as their names should hint, do the
timeouts with millisecond resolution instead. The only restriction to that
is the alarm() (sometimes) used to abort name resolves as that uses full
seconds. I fixed the FTP response timeout part of the patch.
Internally we now count and keep the timeouts in milliseconds but it also
means we multiply set timeouts with 1000. The effect of this is that no
timeout can be set to more than 2^31 milliseconds (on 32 bit systems), which
equals 24.86 days. We probably couldn't before either since the code did
*1000 on the timeout values on several places already.
2007-02-05 22:51:32 +00:00
Daniel Stenberg
138b4f27b4
- Manfred Schwarb reported that socks5 support was broken and help us pinpoint
...
the problem. The code now tries harder to use httproxy and proxy where
apppropriate, as not all proxies are HTTP...
2007-02-03 09:33:54 +00:00
Daniel Stenberg
385e612fa5
- Armel Asselin improved libcurl to behave a lot better when an easy handle
...
doing an FTP transfer is removed from a multi handle before completion. The
fix also fixed the "alive counter" to be correct on "premature removal" for
all protocols.
2007-01-16 22:22:10 +00:00
Daniel Stenberg
4750e6f3c5
- Linus Nielsen Feltzing introduced the --ftp-ssl-ccc command line option to
...
curl that uses the new CURLOPT_FTP_SSL_CCC option in libcurl. If enabled, it
will make libcurl shutdown SSL/TLS after the authentication is done on a
FTP-SSL operation.
2007-01-05 23:11:14 +00:00
Daniel Stenberg
bedc61ac45
- Robert Foreman provided a prime example snippet showing how libcurl would
...
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-22 15:04:59 +00:00
Daniel Stenberg
89ab5f4380
Robson Braga Araujo reported bug #1618359
...
(http://curl.haxx.se/bug/view.cgi?id=1618359 ) and subsequently provided a
patch for it: when downloading 2 zero byte files in a row, curl 7.16.0
enters an infinite loop, while curl 7.16.1-20061218 does one additional
unnecessary request.
Fix: During the "Major overhaul introducing http pipelining support and
shared connection cache within the multi handle." change, headerbytecount
was moved to live in the Curl_transfer_keeper structure. But that structure
is reset in the Transfer method, losing the information that we had about
the header size. This patch moves it back to the connectdata struct.
2006-12-21 10:15:38 +00:00
Daniel Stenberg
cf99fed17a
PROT_CLOSEACTION doesn't have to be its own bit but can just as well just
...
include the protocol bits of such actions, which currently only means FTP
2006-12-11 09:31:08 +00:00
Daniel Stenberg
840e796aa9
Sebastien Willemijns reported bug #1603712
...
(http://curl.haxx.se/bug/view.cgi?id=1603712 ) which is about connections
getting cut off prematurely when --limit-rate is used. While I found no such
problems in my tests nor in my reading of the code, I found that the
--limit-rate code was severly flawed (since it was moved into the lib, since
7.15.5) when used with the easy interface and it didn't work as documented so
I reworked it somewhat and now it works for my tests.
2006-12-06 09:37:40 +00:00
Daniel Stenberg
eb29c5c285
removed the final traces of the closepolicy option
2006-12-05 21:39:24 +00:00
Daniel Stenberg
a634f64400
James Housley did lots of work and introduced SFTP downloads.
2006-11-24 22:14:39 +00:00
Daniel Stenberg
a777eb3d81
Olaf Stueben provided a patch that I edited slightly. It fixes the notorious
...
KNOWN_BUGS #25 , which happens when a proxy closes the connection when
libcurl has sent CONNECT, as part of an authentication negotiation. Starting
now, libcurl will re-connect accordingly and continue the authentication as
it should.
2006-11-03 12:43:55 +00:00
Daniel Stenberg
2147284cad
James Housley brought support for SCP transfers
2006-11-02 21:56:40 +00:00
Daniel Stenberg
e1edd41e1b
Ravi Pratap provided a major update with pipelining fixes. We also no longer
...
re-use connections (for pipelining) before the name resolving is done.
2006-10-23 20:34:56 +00:00
Daniel Stenberg
bd5d21aaf2
When a resolve is made on a pipelined connection we need to detect it properly
...
(when the resoling isn't completede yet) and not confuse it with a simple
connection re-use (non-pipelined).
2006-10-20 12:25:39 +00:00
Daniel Stenberg
5e0d9aea32
Support for FTP third party transfers is now dropped
2006-09-30 20:31:11 +00:00
Daniel Stenberg
ae13c93b7d
Reported in #1561470 ( http://curl.haxx.se/bug/view.cgi?id=1561470 ), libcurl
...
would crash if a bad function sequence was used when shutting down after
using the multi interface (i.e using easy_cleanup after multi_cleanup) so
precautions have been added to make sure it doesn't any more - test case 529
was added to verify.
2006-09-28 21:26:06 +00:00
Daniel Stenberg
2d5fc39d35
Resize the connection cache upwards when adding more handles than what
...
currently fits in the cache, to make the cache work better especially for
pipelining cases but also for "mere" (persistent) connection re-use.
2006-09-16 21:50:29 +00:00
Daniel Stenberg
29dc39fce1
- Fixed my breakage from earlier today so that doing curl_easy_cleanup() on a
...
handle that is part of a multi handle first removes the handle from the
stack.
- Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable SSL
session-ID re-use on demand since there obviously are broken servers out
there that misbehave with session-IDs used.
2006-09-11 17:18:18 +00:00
Daniel Stenberg
8240cea628
Jeff Pohlmeyer presented a *multi_socket()-using program that exposed a
...
problem with it (SIGSEGV-style). It clearly showed that the existing
socket-state and state-difference function wasn't good enough so I rewrote
it and could then re-run Jeff's program without any crash. The previous
version clearly could miss to tell the application when a handle changed
from using one socket to using another.
While I was at it (as I could use this as a means to track this problem
down), I've now added a 'magic' number to the easy handle struct that is
inited at curl_easy_init() time and cleared at curl_easy_cleanup() time that
we can use internally to detect that an easy handle seems to be fine, or at
least not closed or freed (freeing in debug builds fill the area with 0x13
bytes but in normal builds we can of course not assume any particular data
in the freed areas).
2006-09-10 22:15:32 +00:00
Daniel Stenberg
b7eeb6e67f
Major overhaul introducing http pipelining support and shared connection
...
cache within the multi handle.
2006-09-07 21:49:20 +00:00
Gisle Vanem
e2ff369eba
BUFSIZE defined in Metaware's <stdio.h>. Undefine to avoid warning.
2006-08-29 16:27:13 +00:00
Daniel Stenberg
5acadc9cd7
David McCreedy added CURLOPT_SOCKOPTFUNCTION and CURLOPT_SOCKOPTDATA to
...
allow applications to set their own socket options.
2006-08-29 14:39:33 +00:00
Daniel Stenberg
cfdcae4bc7
Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPE
...
command on subsequent requests on a re-used connection unless it has to.
2006-08-19 21:18:36 +00:00
Daniel Stenberg
a4ebf5b507
Fixed a flaw in the "Expect: 100-continue" treatment. If you did two POSTs
...
on a persistent connection and allowed the first to use that header, you
could not disable it for the second request.
2006-08-08 21:12:49 +00:00
Daniel Stenberg
2527b53019
Dan Nelson added the CURLOPT_FTP_ALTERNATIVE_TO_USER libcurl option and curl
...
tool option named --ftp-alternative-to-user. It provides a mean to send a
particular command if the normal USER/PASS approach fails.
2006-07-25 22:45:21 +00:00
Daniel Stenberg
ca319f63ad
Ingmar Runge provided a source snippet that caused a crash. The reason for
...
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-07-07 22:58:06 +00:00
Daniel Stenberg
dfe1884c25
Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE and
...
CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed
to send or receive data. This kind of adds the the command line tool's
option --limit-rate to the library.
The rate limiting logic in the curl app is now removed and is instead
provided by libcurl itself. Transfer rate limiting will now also work for -d
and -F, which it didn't before.
2006-06-22 21:36:53 +00:00
Daniel Stenberg
482b3ba702
long/int cleanup to silence picky compiler warnings
2006-05-26 11:26:42 +00:00
Daniel Stenberg
b9cd73c76d
Fix GnuTLS compile warning. Risking breakage with some older version of GnuTLS?
2006-05-07 18:27:36 +00:00
Daniel Stenberg
def0db30e7
crlf_conversions needs to be a curl_off_t for ASCII transfers > 4GB on 32bit
...
systems
2006-04-26 13:08:12 +00:00
Daniel Stenberg
95152aec68
David McCreedy brought line end conversions when doing FTP ASCII
...
transfers. They are done on non-windows systems and translate CRLF to LF.
2006-04-26 07:40:37 +00:00
Daniel Stenberg
686d90745b
First curl_multi_socket() commit. Should primarily be considered as an internal
...
code rearrange to fit the future better.
2006-04-10 15:00:53 +00:00
Daniel Stenberg
5a4b43848a
First commit of David McCreedy's EBCDIC and TPF changes.
2006-04-07 21:50:47 +00:00
Daniel Stenberg
4d33cf739d
added typedefed function pointers and typecast the NULL assignments in an
...
attempt to silence picky compilers when assigning data pointers to a function
pointer variable
2006-04-07 11:47:21 +00:00
Daniel Stenberg
be285cde3f
Michele Bini modified the NTLM code to work for his "weird IIS case"
...
(http://curl.haxx.se/mail/lib-2006-02/0154.html ) by adding the NTLM hash
function in addition to the LM one and making some other adjustments in the
order the different parts of the data block are sent in the Type-2 reply.
Inspiration for this work was taken from the Firefox NTLM implementation.
I edited the existing 21(!) NTLM test cases to run fine with these news. Due
to the fact that we now properly include the host name in the Type-2 message
the test cases now only compare parts of that chunk.
2006-04-05 12:35:48 +00:00
Daniel Stenberg
598ffeea89
David McCreedy added CURLINFO_FTP_ENTRY_PATH to export the FTP entry path
2006-03-21 22:30:03 +00:00
Daniel Stenberg
83367f67de
Xavier Bouchoux made the SSL connection non-blocking for the multi interface
...
(when using OpenSSL).
2006-03-21 21:54:44 +00:00
Daniel Stenberg
cffebd7fd6
Markus Koetter filed debian bug report #355715 which identified a problem
...
with the multi interface and multi-part formposts. The fix from February
22nd could make the Curl_done() function get called twice on the same
connection and it was not designed for that and thus tried to call free() on
an already freed memory area!
2006-03-07 23:11:41 +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
4431338691
When using a bad path over FTP, as in when libcurl couldn't CWD into all
...
given subdirs, libcurl would still "remember" the full path as if it is the
current directory libcurl is in so that the next curl_easy_perform() would
get really confused if it tried the same path again - as it would not issue
any CWD commands at all, assuming it is already in the "proper" dir.
Starting now, a failed CWD command sets a flag that prevents the path to be
"remembered" after returning.
2006-01-10 23:03:22 +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
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
5effe8f336
Simon Josefson brought GNU GSS support
2005-08-29 08:42:45 +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
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
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
fb3c85ab2f
fixed the 304 response-with-content-length problem reported by Cory Nelson
2005-04-08 16:59:13 +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
Daniel Stenberg
84b4e9ff7c
Fixed the FTP response reader function to properly deal with responses split
...
up in several chunks when read.
2005-03-29 11:35:25 +00:00
Daniel Stenberg
34865ffb4a
include security.h with lowercase s to work on cross-compiled mingw
2005-03-14 00:01:30 +00:00
Gisle Vanem
88a4dc2795
Swap <security.h> and <sspi.h> (needed for MingW).
2005-03-12 17:31:15 +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
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
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
043d70fcdf
Use plain structs and not typedef'ed ones in the hash and linked-list code.
2005-01-25 00:06:29 +00:00
Daniel Stenberg
7e42cb61f7
FTP third transfer support overhaul. See CHANGES for details.
2005-01-21 09:32:32 +00:00
Daniel Stenberg
c5b2e85b47
Dan Torop cleaned up a few no longer used variables from David Phillips'
...
select() overhaul fix.
2005-01-11 20:22:44 +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
Daniel Stenberg
3d647b9a98
if the pkcs12.h header exists, include it already in urldata.h to work around
...
a precedence problem with the zlib header. See CHANGES for details.
2004-12-19 09:37:32 +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
Dan Fandrich
1ba47e7af9
Add 'const' to immutable arrays.
2004-12-15 01:38:25 +00:00
Gisle Vanem
7d3f5d7ac1
urldata.h: Removed engine_list.
...
ssluse.*: Added SSL_strerror(). Curl_SSL_engines_list() now returns a slist
which must be freed by caller.
2004-12-14 14:20:21 +00:00
Daniel Stenberg
07f107ae20
Moved the engine stuff from the root-level of the SessionHandle struct to the
...
UrlState sub-struct. Also made the engine_list exist for non-ssl builds to
make curl build.
2004-12-14 09:36:22 +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
Gisle Vanem
30dfc00a54
'crypto_engine' not used.
2004-12-06 16:36:50 +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
f4bef25b5e
CURLINFO_NUM_CONNECTS and more
2004-10-19 15:30:08 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
be1cece69b
- Larry Campbell added CURLINFO_OS_ERRNO to curl_easy_getinfo() that allows an
...
app to retrieve the errno variable after a (connect) failure. It will make
sense to provide this for more failures in a more generic way, but let's
start like this.
2004-09-30 21:01:23 +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
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
090b89cc76
Variable type cleanups to please the picky MIPSPro compiler.
2004-07-01 08:10:21 +00:00
Daniel Stenberg
f05d47ddd6
variable type cleanup to fix picky compiler warnings
2004-07-01 07:43:20 +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
05baf94b43
Keep the upload byte counter in an curl_off_t, not an int. 32bits is not
...
enough. This is most likely the bug Jean-Louis Lemaire reported that makes
2GB FTP uploads to report error when completed.
Also padded comments to get them aligned again, only for visibility.
2004-06-16 09:28:47 +00:00
Daniel Stenberg
80a1e972fc
Fix the auth code to enable us to i.e set DIGEST and then find out that the
...
server doesn't require any auth at all and then we just continue nicely. We
now have an extra bit in the connection struct named 'authprobe' that is TRUE
when doing pure "HTTP authentication probing".
2004-06-15 08:45:22 +00:00
Daniel Stenberg
ea81dd9e2e
Alexander Krasnostavsky's FTP third party transfer (proxy) support
2004-06-03 11:41:05 +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
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
6bd8db3c99
deleted trailing whitespace
2004-05-17 06:50:32 +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
c9bab31a7f
use size_t better for buffer and alloc lengths
2004-05-12 08:00:21 +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
fc6eff13b5
General HTTP authentication cleanup and fixes
2004-05-04 07:52:53 +00:00
Daniel Stenberg
b34c40dcf5
Luca Altea's major HTTP Digest update
2004-04-29 08:18:32 +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
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
2ff30d067c
- David Byron found and fixed a small bug with the --fail and authentication
...
stuff added a few weeks ago. Turns out that if you specify --proxy-ntlm and
communicate with a proxy that requires basic authentication, the proxy
properly returns a 407, but the failure detection code doesn't realize it
should give up, so curl returns with exit code 0. Test case 162 verifies
this.
2004-04-22 20:07:41 +00:00
Daniel Stenberg
1401d909e8
Fix the "lingering close" problem when re-using a connection, as test case
...
160 shows.
We got no data and we attempted to re-use a connection. This might happen if
the connection was left alive when we were done using it before, but that was
closed when we wanted to read from it again. Bad luck. Retry the same request
on a fresh connect!
Deleted the sockerror variable again, it serves no purpose anymore.
2004-04-21 08:49:14 +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
4f84e6d9e2
removed the fixed dir depth limit in the FTP code
2004-04-15 07:52:39 +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
72b1144b8c
getting only a 100 Continue response and nothing else, when talking HTTP,
...
is now treated as an error by libcurl
2004-04-07 14:27:54 +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
894dbae455
added stale boolean to the digest struct
2004-03-30 13:00:53 +00:00
Daniel Stenberg
20cab07c29
David Byron added 'authdone' to the SessionHandle.
2004-03-30 06:38:52 +00:00
Daniel Stenberg
bb3d6e8552
tcp-nodelay patch by Joe Halpin
2004-03-25 13:37:18 +00:00
Daniel Stenberg
b60d6404d8
Gisle Vanem's fix to replace the bad use of strerror(). This introduces
...
Curl_strerror() that attempts to be thread-safe _and_ works on Windows too!
2004-03-24 22:45:37 +00:00
Daniel Stenberg
2cf218610e
keep current_speed as an curl_off_t for better precision at higher speeds
...
if large file support is available
2004-03-23 16:01:31 +00:00
Daniel Stenberg
4ad68ec305
more variable type fixes for the large POST support
2004-03-12 13:06:01 +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
1d5a914c1c
Made max5data() take a curl_off_t size as argument instead of double. Should
...
make the progress meter more accurate for large files. Also made the sprintf
usage in that function avoid floating point.
2004-03-11 21:48:15 +00:00
Daniel Stenberg
0d1fc73f21
Use more curl_off_t variables when doing the progress meter calculations and
...
argument passing and try to convert to double only when providing data to the
external world.
2004-03-10 16:20:33 +00:00
Daniel Stenberg
ce5805a955
Use curl_socket_t instead of int for holding sockets. The typedefs and
...
defines are in setup.h.
2004-03-09 22:52:50 +00:00
Daniel Stenberg
817d17354e
make the backup variable of the same kind as the data it backups! ;-)
2004-03-03 13:12:30 +00:00
Daniel Stenberg
e2f7030202
rename struct FILE to FILEPROTO, to prevent it from causing trouble with
...
the plain old FILE typedef.
2004-03-03 09:25:59 +00:00
Daniel Stenberg
77268e0649
Joe Halpin made the FTP code send 'QUIT' on the control connection before
...
it disconnects the TCP connection, like a good ftp client should!
2004-02-27 07:08:37 +00:00
Daniel Stenberg
d571064b65
Clear up int/long/size_t/ssize_t usage a bit
2004-02-26 13:40:43 +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
a39669198f
we call the macro CURLMAX() isntead of MAX(), just because it turned up
...
it collides with another MAX define on some platforms (like netbsd 1.6.1)
2004-02-20 08:47:23 +00:00
Daniel Stenberg
b84eaff1d5
set the 'retry' bit to TRUE when the connection is about to be retried,
...
this allows the HTTP code to *not* return a failure just because no data
has been received from the server
2004-02-02 14:49:54 +00:00
Daniel Stenberg
df750c236c
Somewhat crude attempt at fixing the test 91 failures. I commit this now
...
so that the automatic testing hosts will test these changes over the weekend.
2004-01-30 12:08:18 +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
0f4d042d3e
Ignore content-length when chunked transfer-encoding is transfered.
2003-12-03 07:52:00 +00:00
Daniel Stenberg
800052dc50
use the HAVE_KRB4 define instead of just KRB4
2003-12-02 13:27:29 +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
4874aa6986
fixed wrong comment
2003-11-24 07:08:07 +00:00
Daniel Stenberg
ad77f760cf
Added CURLOPT_NETRC_FILE.
2003-11-11 14:30:43 +00:00
Daniel Stenberg
f1445ea228
remove the struct fields for the deprecated passwd prompt callback
2003-11-07 13:26:00 +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
2297eca103
Added CURLOPT_IPRESOLVE support
2003-09-19 15:16: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
fd42247cac
Tim Bartley's patch that makes the GSSNEGOTIATE option work for Microsoft's
...
"Negotiate" authentication as well.
2003-09-11 22:21:11 +00:00
Daniel Stenberg
1f9b0e70ab
Based on Joerg Mueller-Tolk's patch, this introduces support for
...
CURLINFO_HTTPAUTH_AVAIL and CURLINFO_PROXYAUTH_AVAIL
2003-09-04 10:55:20 +00:00
Daniel Stenberg
f2d422235b
Early Ehlinger's CURLOPT_FTP_RESPONSE_TIMEOUT patch applied.
2003-09-03 22:02:40 +00:00
Daniel Stenberg
d00e4a377b
store the FTP response code in the httpcode variable
2003-08-20 15:41:45 +00:00
Daniel Stenberg
27619fc450
Added support for CURLINFO_HTTP_CONNECTCODE
2003-08-11 23:15:41 +00:00
Daniel Stenberg
7a19923afa
Serge Semashko added CURLOPT_PROXYAUTH support, and now NTLM for proxies
...
work.
2003-08-11 11:47:45 +00:00
Daniel Stenberg
f9f1f0e316
Early Ehlinger's CURLOPT_FTP_CREATE_MISSING_DIRS patch was applied
2003-08-08 09:13:19 +00:00
Daniel Stenberg
b73612392d
ares awareness/usage/support added. If configure --enable-ares is used, we
...
build libcurl to use ares for asynch name resolves.
2003-08-05 14:40:59 +00:00
Daniel Stenberg
1c35cbcc07
Reverted the 'filetime' struct field back to a 'long' as time_t is sometimes
...
unsigned and we want this to be able to hold -1 for illegal/unset values.
2003-07-30 07:22:28 +00:00
Daniel Stenberg
6f2a4d290f
Added a separate struct for the proxyntlm data, as it will/can be different
...
than the remote server's. That is, both the server and the proxy can in
fact require NTLM auth.
2003-07-22 09:58:18 +00:00
Daniel Stenberg
071c95128e
moved the proxyuser and proxypasswd fields from the sessionhandle to the
...
connectdata to work as expected
2003-07-21 13:16:30 +00:00
Daniel Stenberg
2f0bc9d1f7
No longer stores user+password in the sessionhandle, now doing that in the
...
connectdata struct instead. Each being an allocated pointer.
The passwdgiven field was turned into a local variable in the only
function it was being used.
2003-07-19 23:55:15 +00:00
Daniel Stenberg
06c86d1a8c
Moved the NTLM credentials to the connectdata struct instead, as NTLM
...
authenticates connections and not single requests. This should make it work
better when we mix requests from multiple hosts. Problem pointed out by
Cris Bailiff.
2003-07-15 23:36:50 +00:00
Daniel Stenberg
45fc760985
Peter Sylvester's patch was applied that introduces the following:
...
CURLOPT_SSL_CTX_FUNCTION to set a callback that gets called with the
OpenSSL's ssl_ctx pointer passed in and allow a callback to act on it. If
anything but CURLE_OK is returned, that will also be returned by libcurl
all the way back. If this function changes the CURLOPT_URL, libcurl will
detect this and instead go use the new URL.
CURLOPT_SSL_CTX_DATA is a pointer you set to get passed to the callback set
with CURLOPT_SSL_CTX_FUNCTION.
2003-07-04 16:29:23 +00:00
Daniel Stenberg
6f02ddfce8
new httpauth support, changed filetime variable kind
2003-06-26 11:31:50 +00:00
Daniel Stenberg
d13202f43b
modified
2003-06-12 23:03:08 +00:00
Daniel Stenberg
ecf32c964a
CURLHTTP* renamed to CURLAUTH* and NEGOTIATE is now GSSNEGOTIATE as there's
...
a "plain" Negotiate as well.
2003-06-12 17:34:27 +00:00
Daniel Stenberg
09df1cd41e
to support "redirects" after the full body is transfered
2003-06-11 15:31:40 +00:00
Daniel Stenberg
73c5f24fa4
Initial take at NTLM authentication. It doesn't really work at this point
...
but the infrastructure is there.
2003-06-11 13:38:55 +00:00
Daniel Stenberg
d0cc92a01a
Set auth type differently, we use one CURLOPT_HTTPAUTH instead as we plan
...
to add more method in the future.
2003-06-10 12:49:16 +00:00
Daniel Stenberg
e56ae1426c
Daniel Kouril's patch that adds HTTP negotiation support to libcurl was
...
added.
2003-06-10 12:22:19 +00:00
Daniel Stenberg
a39d77227f
Better Digest stuff
2003-05-22 22:39:38 +00:00
Daniel Stenberg
334d78cd18
Initial Digest support. At least partly working.
2003-05-22 16:09:54 +00:00
Daniel Stenberg
d5043133e6
Gisle Vanem made curl build with djgpp on DOS.
2003-05-21 08:08:48 +00:00
Daniel Stenberg
94a157d0b0
support for CURLOPT_FTP_USE_EPRT added
2003-05-09 07:39:29 +00:00
Daniel Stenberg
836aaa1647
changes need for the new ftp path treatment and the new cookie code
2003-04-30 17:01:00 +00:00
Daniel Stenberg
019c4088cf
Dan Fandrich's gzip patch applied
2003-04-11 08:49:20 +00:00
Daniel Stenberg
9558f229db
Fixup after talks with Richard Bramante. We should now make better
...
comparisons before re-using SSL connections and re-using SSL connection IDs.
2003-03-31 05:13:26 +00:00
Daniel Stenberg
25f611ca42
Guillaume Cottenceau's patch that adds CURLOPT_UNRESTRICTED_AUTH that
...
disables the host name check in the FOLLOWLOCATION code. With that option
set, libcurl will send user+password to all hosts.
2003-03-31 04:41:05 +00:00
Daniel Stenberg
89721ff04a
Richard Bramante's provided a fix for a handle re-use problem seen when you
...
change options on an SSL-enabled connection between requests.
2003-03-24 23:10:38 +00:00
Daniel Stenberg
de11f5e53a
make the ENGINE depend on the USE_SSLEAY define too
2003-03-19 21:28:39 +00:00
Daniel Stenberg
bb6d0e37e3
Sort out the ENGINE problems people seem to be having. Now we put all ENGINE
...
related stuff within HAVE_OPENSSL_ENGINE_H and we don't make any private
typedef or similar if the header is missing...
2003-03-15 16:51:43 +00:00
Daniel Stenberg
a6206a3aef
Fixes to bring back the the "Expect: 100-continue" functionality. If the
...
header is used, we must wait for a 100-code (or timeout), before we send the
data. The timeout is merely 1000 ms at this point. We may have reason to set
a longer timeout in the future.
2003-02-24 16:53:53 +00:00
Daniel Stenberg
5a83976c99
Markus F.X.J. Oberhumer's patch that reduces memory usage quite a bit by
...
only allocating the scratch memory buffer once it is needed and not always
in the handle.
2003-01-20 12:52:34 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +00:00
Daniel Stenberg
9a2de6e6ee
if userpwd is "username:", this now implies a blank password while only
...
"username" will cause libcurl to prompt for password. Bryan Kemp noticed.
test case 136 is added for this
2003-01-09 16:47:09 +00:00
Daniel Stenberg
9a239edb52
updated to use the modified share-types
2003-01-08 15:50:52 +00:00
Daniel Stenberg
ec24efda74
Simon Liu's HTTP200ALIASES-patch!
2003-01-07 16:15:53 +00:00
Daniel Stenberg
b528bde470
conn->bits.tcpconnect now keeps track of if this connection is connected
...
or not
2002-12-13 16:15:19 +00:00
Daniel Stenberg
db6ff224f8
The initial HTTP request can now be sent in multiple parts, as part of the
...
regular transfer process. This required some new tweaks, like for example
we need to be able to tell the tranfer loop to not chunky-encode uploads
while we're transferring the rest of the request...
2002-12-10 13:10:00 +00:00
Daniel Stenberg
49f75ee8ce
A normal POST now provides data to the main transfer loop via the usual
...
read callback, and thus won't put a lot of stress on the request sending
code (which currently does an ugly loop).
2002-12-09 16:05:57 +00:00
Daniel Stenberg
4bcc866c52
The fread() callback pointer and associated pointer is now stored in the
...
connectdata struct instead, and is no longer modified within the 'set' struct
as previously (which was a really BAAAD thing).
2002-12-09 15:37:54 +00:00
Daniel Stenberg
d0b97f7e1f
Curl_GetFTPResponse() takes a different set of parameters and now return a
...
proper CURLcode. The default timeout for reading one response is now also
possible to change while running.
2002-12-03 10:25:31 +00:00
Daniel Stenberg
8bca5e05b8
Kjetil Jacobsen's patch that introduces CURLOPT_PRIVATE and CURLINFO_PRIVATE
...
for storage and retrieval of private data in the curl handle.
2002-11-20 19:11:22 +00:00
Daniel Stenberg
42acb00c81
moved the bools in the connectdata struct into the substruct named
...
ConnectBits where the other bools already are
2002-11-11 23:03:03 +00:00
Daniel Stenberg
03c22b4576
Now supports "Transfer-Encoding: chunked" for HTTP PUT operations where the
...
size of the uploaded file is unknown.
2002-11-11 08:40:37 +00:00
Daniel Stenberg
2cff251863
Curl_resolv() now returns a different struct, and it contains a reference
...
counter so that the caller needs to decrease that counter when done with
the returned data.
If compiled with MALLOCDEBUG I've added some extra checking that the counter
is decreased before a handle is closed etc.
2002-11-05 10:51:41 +00:00
Daniel Stenberg
b5a74715cf
bad headers can come in two kinds, we either treat everything as one big
...
badly assumed header, or we think that parts of the buffer is a bad header
and the rest is treated as a normal body part
2002-10-23 13:48:37 +00:00
Daniel Stenberg
156aad198f
Make the COOKIESESSION work better by creating a list of cookie files files
...
when given in the curl_easy_setopt() and then parse them all on the first
curl_easy_perform() call instead.
2002-10-17 07:10:39 +00:00
Daniel Stenberg
c19844a0a3
better deal with HTTP(S) servers that respond with no headers at all, test
...
case 306 added to verify that we do right
2002-09-13 12:40:36 +00:00
Daniel Stenberg
cac5251a98
Lukasz Czekierda correctly pointed out that curl used a bad Host: header
...
when talking to a IPv6-server using IPv6 IP address only.
2002-09-11 10:32:37 +00:00
Daniel Stenberg
ba4e69bebc
updated source code boilerplate/header
2002-09-03 11:52:59 +00:00
Daniel Stenberg
64bbe9dfaf
James Gallagher's Content-Encoding work
2002-09-02 22:31:18 +00:00
Daniel Stenberg
0e0caf7c06
CURLE_SSL_INSECURE is removed again and so is CURLOPT_SSL_INSECURE, we
...
proceed fine with the already existing options, just having a different
internal library default for capath.
2002-08-30 11:09:49 +00:00
Daniel Stenberg
8aa3f14303
SOCKS5 support added (contributed by a still unnamed person). Not properly
...
working for "IPv6 enabled" libcurls yet, but should be pretty easy for
someone to adjust.
2002-08-30 09:20:11 +00:00
Daniel Stenberg
7140baae72
remove the data and conn fields from the Curl_transfer_keeper struct, they
...
weren't used anyway and mostly caused confusion
2002-08-29 06:09:21 +00:00
Daniel Stenberg
27a2e590cd
SSL_INSECURE support and usage added
2002-08-26 23:13:25 +00:00
Daniel Stenberg
74be55a477
Markus F.X.J. Oberhumer's added comment
2002-08-22 19:38:50 +00:00
Daniel Stenberg
6dfe0ec31e
Sterling Hughes brings the share interface
2002-08-13 14:20:47 +00:00
Daniel Stenberg
cb895ec335
Initial fix to make the multi interface return control while waiting for
...
the initial connect to "come through".
This should work fine for connect and for FTP-PASV connects. Needs massive
testing.
2002-08-12 09:43:20 +00:00
Daniel Stenberg
4cf953678d
Markus F.X.J. Oberhumer's CURLOPT_NOSIGNAL patch
2002-08-08 22:52:50 +00:00
Daniel Stenberg
108cb14d1f
Make SessionHandle keep record if it is used with the multi interface or
...
the easy interface, it CANNOT be used by a mixture.
2002-08-05 17:04:39 +00:00
Daniel Stenberg
e54e0c7877
CURLOPT_BUFFERSIZE allows an application to set a prefered buffer size
...
for receiving data from the network. It is meant as a hint, not as a forced
limit.
2002-06-15 21:00:54 +00:00
Daniel Stenberg
93f1784526
Remade the FTP not-check status line and not-attempt-to-read-status-line
...
variables, conditions and things.
2002-06-14 06:57:00 +00:00
Daniel Stenberg
3c63e1d8d9
Added 'dont_check' to be set during an FTP operation if the final status
...
message is supposed to be ignored.
2002-06-13 09:21:08 +00:00
Daniel Stenberg
105ec79b2b
James Cone's efforts to add another netrc parsing "mode"
2002-05-21 22:17:19 +00:00
Daniel Stenberg
980a47b42b
support for ingoring session cookies added
2002-05-07 09:58:13 +00:00
Daniel Stenberg
d9a1a59f22
CURL_MAX_WRITE_SIZE is a new exported define that informs about the biggest
...
sized buffer that may be passed to a write callback
2002-05-03 14:50:29 +00:00
Daniel Stenberg
8e50d6b6f3
added two pointers to the fd_set variables to read/write from, as sometimes
...
we need to point to user-provided fd_sets
2002-05-02 22:13:35 +00:00
Daniel Stenberg
8927ddec16
In order to not get problems with DNS cache pruning, we no longer store
...
any name resolved data in any curl handle struct. That way, we won't mind
if the cache entries are pruned for the next time we need them. We'll just
resolve them again instead.
This changes the Curl_resolv() proto. It modifies the SessionHandle struct
but perhaps most importantly, it'll make the internals somewhat dependent
on the DNS cache not being disabled as that will cripple operations somewhat.
Especially for persistant connections.
2002-04-25 19:00:57 +00:00
Daniel Stenberg
62d205a2ec
Dirk Manske brought the patch that introduces two new CURLINFO_* values:
...
CURLINFO_REDIRECT_TIME and CURLINFO_REDIRECT_COUNT.
2002-04-16 07:59:20 +00:00
Daniel Stenberg
3f6133be27
Jean-Philippe Barrette-LaPierre provided his patch that introduces
...
CURLOPT_DEBUGFUNCTION and CURLOPT_DEBUGDATA.
2002-04-12 07:21:11 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Daniel Stenberg
80b004a57d
Wesley Laxton's CURLOPT_PREQUOTE work
2002-02-28 23:31:23 +00:00
Daniel Stenberg
e88a2ec6fc
no more adjustable upload buffer size, we use non-blocking sockets now so
...
this work-around is not needed anymore!
2002-01-29 20:28:26 +00:00
Daniel Stenberg
76c53c690c
Giaslas Georgios introduced CURLINFO_CONTENT_TYPE
2002-01-29 10:49:32 +00:00
Daniel Stenberg
8d97792dbc
- shrunk the BUFSIZE define from 50K to 20K
...
- made a separate buffer for uploads (due to the non-blocking stuff)
- added two connectdata struct fields for non-blocking uploads
2002-01-16 14:53:19 +00:00
Sterling Hughes
c0bfe7be15
1) the dns_cache_timeout should be an integer, not a bool
...
2) in the curl_dns_cache_entry structure, timestamp should be
a time_t instead of an integer (although I doubt it matters).
2002-01-08 04:30:59 +00:00
Sterling Hughes
22ac08e06d
Add support for DNS cache timeouts via the CURLOPT_DNS_CACHE_TIMEOUT option.
...
The default cache timeout for this is 60 seconds, which is arbitrary and
completely subject to change :)
2002-01-08 04:26:47 +00:00
Sterling Hughes
8d7f402efb
Make cach'ing work with threads now, there are now three cases:
...
- Use a global dns cache (via setting the tentatively named,
CURLOPT_DNS_USE_GLOBAL_CACHE option to true)
- Use a per-handle dns cache, by default
- Use a pooled dns cache when in the "multi" interface
2002-01-07 20:52:32 +00:00
Daniel Stenberg
8b6314ccfb
merged the multi-dev branch back into MAIN again
2002-01-03 15:01:22 +00:00
Daniel Stenberg
6aaee5f23b
minor changes
2002-01-03 09:43:17 +00:00
Daniel Stenberg
28027c2aa2
If nobody is set we won't download any FTP file. If include_header is set,
...
we return a set of headers not more. This enables FTP operations that don't
transfer any data, only perform FTP commands.
2001-12-20 11:22:01 +00:00
Daniel Stenberg
af6c394785
Götz Babin-Ebell's OpenSSL ENGINE patch
2001-12-17 23:01:39 +00:00
Daniel Stenberg
779043f7a3
As Eric Lavigne pointed out, the ftp response reader MUST cache data that
...
is not dealt with when we find an end-of-response line, as there might be
important stuff even after the correct line. So on subsequent invokes, the
cached data must be used!
2001-12-03 13:48:59 +00:00
Daniel Stenberg
c16c017f8b
more careful re-use of connections when SSL is used over proxies
2001-12-02 14:16:34 +00:00
Daniel Stenberg
332eb7651a
CURLOPT_FTP_USE_EPSV can now be set to FALSE to prevent libcurl from
...
attempting to use EPSV before the standard PASV.
2001-11-28 23:20:14 +00:00
Daniel Stenberg
dccc77a325
Eric Lavigne updates
2001-11-27 07:27:32 +00:00
Daniel Stenberg
ca0fd33d2d
Georg Horn's STARTTRANSFER_TIME patch
2001-11-20 15:00:50 +00:00
Daniel Stenberg
4163b86cd2
failf() now only overwrites the error buffer the first time it gets called
...
for each *_perform(). It makes things a lot easier, as the first one that
detects the error get to write the final error reason...
2001-11-02 22:30:34 +00:00
Daniel Stenberg
42a9d96fae
fixed conn->name error on connection re-use and enlarged the 'gname' array
...
to hold 512 bytes (for user+password+hostname)
2001-10-29 10:10:21 +00:00
Daniel Stenberg
4e37187e44
now counts header size return from server and if nothing is returned from a
...
HTTP server we return error
2001-10-19 11:58:32 +00:00
Daniel Stenberg
b438c46764
progress meter fixes
2001-10-12 12:31:43 +00:00
Daniel Stenberg
a9181f8f00
added the option CURLOPT_HTTP_VERSION that can specify which HTTP version
...
libcurl should use in its request
2001-10-09 06:52:37 +00:00
Daniel Stenberg
51ca5fcbe0
major connecting updates
2001-10-02 09:40:06 +00:00
Daniel Stenberg
afc81ada0c
renamed the stupid 'hp' to 'hostaddr' which actually says what it is
2001-10-01 22:31:10 +00:00
Daniel Stenberg
e9aa07f660
filetime should be -1 if the remote time was unknown as 0 is actually a
...
valid time. we now store the filetime as a long to know for sure it can
hold -1 (there exist some unsigned time_t cases)
2001-09-28 11:04:43 +00:00
Daniel Stenberg
48dc74aecc
more transparant support for IPv6 name resolving
2001-09-28 07:05:26 +00:00
Daniel Stenberg
2cb893575d
moved a 100K buffer from the transfer loop to the urlstate struct, as it
...
seriously decreases the amount of used stack space
2001-09-12 12:02:12 +00:00
Daniel Stenberg
cc1a4edf3d
added cipher_list
2001-09-11 22:21:26 +00:00
Daniel Stenberg
c3b448dcea
moved the session ID cache state variables into the UrlState struct within
...
the SessionHandle. It was previously wrongly put in UserDefined
2001-09-06 08:32:01 +00:00
Daniel Stenberg
67df4c9e6c
removed unused #defines
2001-09-01 10:20:12 +00:00
Daniel Stenberg
0ece1b5c34
Major rename and redesign of the internal "backbone" structs. Details will
...
be posted in a minute to the libcurl list.
2001-08-30 22:48:34 +00:00
Daniel Stenberg
26983053c4
take port numbers into account when finding a previous session from the
...
cache
2001-08-29 09:36:41 +00:00
Daniel Stenberg
a2b6ef3478
cookie jar adjustments
2001-08-29 09:32:18 +00:00
Daniel Stenberg
3c52c53ddd
Added SSL session ID caching, moved some SSL code from url.c to ssluse.c
2001-08-28 08:37:54 +00:00
Daniel Stenberg
08655d8d5d
Georg Huettenegger's patch curl-7.8.1-pre5-patch-20010819
2001-08-21 13:18:07 +00:00
Daniel Stenberg
5ad4a52281
Added two fields in the connectdata struct for kerberos fiddles
2001-08-17 10:13:32 +00:00
Daniel Stenberg
6e22b74253
removed protos that were moved to url.h and the new getinfo.h
2001-08-15 06:54:09 +00:00
Daniel Stenberg
94a3886455
minor fixes for compiler warnings
2001-08-14 08:40:39 +00:00
Daniel Stenberg
95837043e2
Patrick Bihan-Faou introduced CURLOPT_SSL_VERIFYHOST and code to deal with
...
it.
2001-08-08 07:16:47 +00:00
Daniel Stenberg
8987244758
httpreq cleanup fix
2001-08-03 11:52:53 +00:00
Daniel Stenberg
fe82ddda46
CURLOPT_MUTE and data->bits.mute are history, removed, gone!
2001-05-31 13:50:28 +00:00
Daniel Stenberg
11f2464a22
when asking for a resumed FTP transfer, even though the entire file has
...
already been transfered no longer returns error but instead is OK. The
reasoning behind this is of course that no extra actions need to be taken
and it is as if a transfer had been successfully performed.
2001-05-11 11:38:13 +00:00
Daniel Stenberg
85631150ce
fixed 'storefread' to not make a warning
2001-05-07 11:17:18 +00:00
Daniel Stenberg
9304055df5
'FILE *' changed to 'void *' in all callback functions
2001-05-04 07:47:11 +00:00
Daniel Stenberg
3fd65fb7d8
Remade resume stuff to keep data in the connectdata struct instead of the
...
main handle struct to work with persistant connections
2001-04-18 07:25:11 +00:00
Daniel Stenberg
025fa762f6
Added new CURLOPT_HEADERFUNCTION callback for writing headers only
2001-04-10 06:49:32 +00:00
Daniel Stenberg
b1328430c9
ftps:// support added
2001-03-29 08:16:55 +00:00
Daniel Stenberg
d6c456db85
added connect timeout support
2001-03-15 14:38:30 +00:00
Daniel Stenberg
f8e1fc32de
Edin Kadribaic's bug report #408488 forced a rearrange of two struct fields
...
from urldata to connectdata, quite correctly.
2001-03-14 14:11:11 +00:00
Daniel Stenberg
70d0d9d4da
Added 'created' to the connectdata struct to hold the creation date, to
...
be used for the close policy decision
2001-03-13 07:53:59 +00:00
Daniel Stenberg
e6b40bb6ac
two new random seed options for the ssl config struct
2001-03-12 15:47:41 +00:00
Daniel Stenberg
38c349f751
support for a few new libcurl 7.7 CURLOPT_* options added
2001-03-12 15:05:54 +00:00
Daniel Stenberg
580896d615
Added httpversion to the progress struct, we do read it, we can just as well
...
store it.
2001-03-09 15:58:36 +00:00
Daniel Stenberg
2b30bfc349
all comments for the former public "low level" interface have been removed
...
since they were out-of-date and not correct anymore.
moved around some struct fields
2001-03-09 15:19:42 +00:00
Daniel Stenberg
a23db7b7c7
"Transfer-Encoding: chunked" support added
2001-03-07 23:51:41 +00:00
Daniel Stenberg
91e4da7ddb
initial chunked transfer-encoding support
2001-03-07 17:12:12 +00:00
Daniel Stenberg
5eba359b5d
telnet without any static variables
2001-03-05 13:59:43 +00:00
Daniel Stenberg
84e94fda8b
remade FILE:// support to look more as the other protocols
2001-03-05 13:39:01 +00:00
Daniel Stenberg
d1cfbd51b5
remade the port number stuff so that following locations work and doing
...
intermixed HTTP and FTP persistant connections also work!
2001-03-02 15:34:15 +00:00
Daniel Stenberg
7c6562683a
extending connectdata
2001-03-02 07:42:35 +00:00
Daniel Stenberg
584dbffe60
moved the dynamicly set pointers to the connectdata struct
2001-02-22 23:32:02 +00:00
Daniel Stenberg
da06a6e7e3
IPv6-adjustments
2001-02-21 17:15:09 +00:00
Daniel Stenberg
a1d6ad2610
multiple connection support initial commit
2001-02-20 17:35:51 +00:00
Daniel Stenberg
250df30e64
Moved a bunch of prototypes from curl.h here, they're no longer public and
...
I merely stuffed them here before I decide where they belong and if they
are to remain at all
2001-02-19 09:28:10 +00:00
Daniel Stenberg
f6e2bfd464
Jun-ichiro itojun Hagino's IPv6 adjustments
2001-02-05 23:04:44 +00:00
Daniel Stenberg
fcb347d124
Added a httpreq field in the main struct so that there's one field to check
...
for what HTTP request that is being used. The old bit-style fields are still
in there as well.
2001-01-26 15:52:01 +00:00
Daniel Stenberg
8bafc3692d
fixed the comment for 'path'
2001-01-24 14:03:48 +00:00
Daniel Stenberg
3d96ee7423
extended the gname field one byte to avoid a possible overflow
...
added lots of explaining comments
2001-01-24 12:10:10 +00:00
Daniel Stenberg
24dee483e9
dual-license fix
2001-01-03 09:29:33 +00:00
Daniel Stenberg
b8f7d94ef1
James Griffiths' max-redirs fix
2000-11-28 09:05:47 +00:00
Daniel Stenberg
86d4488cc7
Added struct fields to deal with time-of-document
2000-11-22 12:57:16 +00:00
Daniel Stenberg
42280e95bf
removed URL size restrictions
2000-11-20 08:53:21 +00:00
Daniel Stenberg
2297bc4791
changed the 'port' field to long to better work with the va_arg() system
2000-11-17 09:48:21 +00:00
Daniel Stenberg
2bd70e1351
moved the followlocation field from the http struct to the urldata struct
...
since it has to survive http struct deletion
2000-11-13 18:23:21 +00:00
Daniel Stenberg
9f4f16b55d
new getpass proto and function pointer usage
2000-11-06 22:53:50 +00:00
Daniel Stenberg
71fb701168
adjusted the time-keeping function to work better for location following
...
requests
2000-11-06 15:31:10 +00:00
Daniel Stenberg
0cff279063
new urldata ssl layout and T. Bharath brought the new SSL cert verify function
2000-10-30 11:53:40 +00:00
Daniel Stenberg
135cc036aa
made the speedcheck actually work again
2000-10-17 14:53:03 +00:00
Daniel Stenberg
85174ed358
memory leak adjusts
2000-10-11 10:29:25 +00:00
Daniel Stenberg
03a56b3e56
HTTP resume fix, now the range pointer may be allocated
2000-10-06 06:28:39 +00:00
Daniel Stenberg
5865860ad6
counts header and request size
2000-10-04 13:07:43 +00:00
Daniel Stenberg
033263e696
added the new upload_bufsize to the connectdata struct
2000-10-03 11:05:09 +00:00
Daniel Stenberg
f353258ff6
corrected bad data re-use and buffer problems
2000-09-25 21:49:37 +00:00
Daniel Stenberg
7bac857fdd
krb4 fields structs and fields added
2000-09-21 08:50:48 +00:00
Daniel Stenberg
c9c7fcf411
Stephen Kick's interface fixes
2000-09-18 21:54:08 +00:00
Daniel Stenberg
86ff2c46b7
introduced 'tunnel through http proxy' for ftp
2000-09-14 14:05:01 +00:00
Daniel Stenberg
1b1f143cd6
hostname and large file support added
2000-08-24 12:33:16 +00:00
Daniel Stenberg
18853542a1
curl_close is a new function pointer that can be set to a protocol-specific
...
function to get called in the curl_close() function for cleanup
auth_host is added to store the original (first) host name used
2000-07-25 21:14:12 +00:00
Daniel Stenberg
78686a5487
Added proxyport
2000-07-25 07:32:22 +00:00
Daniel Stenberg
1ef3600a07
haxx.nu => haxx.se
2000-06-20 15:31:26 +00:00
Daniel Stenberg
f22717fe6c
Added auto and free referer fields to the UrlData struct
2000-06-20 11:23:31 +00:00
Daniel Stenberg
6489735491
mode was replaced with callback in the progress struct
2000-06-16 13:17:44 +00:00
Daniel Stenberg
e22d75cd6e
Luong Dinh Dung's comments adjusted
2000-06-13 23:04:44 +00:00
Daniel Stenberg
4fd4a6888a
added progress callback stuff, changed the callback typedefs to be public
2000-06-08 15:11:39 +00:00
Daniel Stenberg
ecb2b95b1c
struct HttpHeader changed to struct curl_slist
2000-06-05 08:23:50 +00:00
Daniel Stenberg
6d522c9c1d
made getenv() more threadsafe for win32
2000-05-29 23:07:22 +00:00
Daniel Stenberg
c35238e0a3
Jört Hartroth's updates
2000-05-22 17:18:55 +00:00
Daniel Stenberg
96dde76b99
moved here from the newlib branch
2000-05-22 14:12:12 +00:00
Daniel Stenberg
cf23986a70
Added more variables to the progress struct targeted for statistics output
2000-03-01 22:06:57 +00:00
Daniel Stenberg
dd11333fce
new fields in the progress struct
2000-02-21 23:51:38 +00:00
Daniel Stenberg
f4898981b0
added #include <timeval.h> on Jörn's advice
...
added lastshow to the progress struct
2000-02-16 00:02:40 +00:00
Daniel Stenberg
f63c7b8d62
new stuff for the new progress meter
2000-02-14 23:13:15 +00:00
Daniel Stenberg
26e8ccc631
syncing with local edit
2000-01-10 23:36:14 +00:00
Daniel Stenberg
ae1912cb0d
Initial revision
1999-12-29 14:20:26 +00:00