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