Commit Graph

237 Commits

Author SHA1 Message Date
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