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