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