Daniel Stenberg
21a0f09081
Added comments, check Curl_http_auth_act()'s return code and added a check
...
that closes the connection somewhat faster when perhapsrewind() has marked
the connection for closure.
2008-05-03 21:44:50 +00:00
Dan Fandrich
09777a4fc2
Some trivial changes
2008-04-17 00:45:33 +00:00
Daniel Stenberg
f1c69192da
expanded a comment around some of the new formpost callback usage
2008-03-31 10:16:34 +00:00
Daniel Stenberg
a2314225e0
- Added CURLFORM_STREAM as a supported option to curl_formadd() to allow an
...
application to provide data for a multipart with the read callback. Note
that the size needs to be provided with CURLFORM_CONTENTSLENGTH when the
stream option is used. This feature is verified by the new test case
554. This feature was sponsored by Xponaut.
2008-03-31 10:02:23 +00:00
Daniel Stenberg
b425e851fb
- As found out and reported by Dan Petitt, libcurl didn't show progress/call
...
the progress callback for the first (potentially huge) piece of body data
sent together with the POST request headers in the initial send().
2008-03-27 13:07:12 +00:00
Daniel Stenberg
590f0358d8
- Anatoli Tubman found and fixed a crash with Negotiate authentication used on
...
a re-used connection where both requests used Negotiate.
2008-03-01 22:32:03 +00:00
Daniel Stenberg
0d722204c3
https_getsock() should be static all over (and did some fixed indenting)
2008-02-18 19:53:31 +00:00
Daniel Stenberg
ba3e7a8656
rephrased comment
2008-02-17 13:49:01 +00:00
Daniel Stenberg
4180ca7638
don't do the GOT_NOTHING error check if the DONE function was called with
...
premature set TRUE, which means it was done before the request comleted. It
could then very well not have received any data.
2008-02-17 13:40:35 +00:00
Daniel Stenberg
d25aab2704
- Pooyan McSporran found and fixed a flaw where you first would do a normal
...
http request and then you'd reuse the handle and replace the Accept: header,
as then libcurl would send two Accept: headers!
2008-02-15 08:56:06 +00:00
Daniel Stenberg
b620e62f0f
- Dmitry Kurochkin moved several struct fields from the connectdata struct to
...
the SingleRequest one to make pipelining better. It is a bit tricky to keep
them in the right place, to keep things related to the actual request or to
the actual connection in the right place.
2008-01-31 12:04:33 +00:00
Daniel Stenberg
c6df788866
- Kevin Reed filed bug report #1879375
...
(http://curl.haxx.se/bug/view.cgi?id=1879375 ) which describes how libcurl
got lost in this scenario: proxy tunnel (or HTTPS over proxy), ask to do any
proxy authentication and the proxy replies with an auth (like NTLM) and then
closes the connection after that initial informational response.
libcurl would not properly re-initialize the connection to the proxy and
continue the auth negotiation like supposed. It does now however, as it will
now detect if one or more authentication methods were available and asked
for, and will thus retry the connection and continue from there.
- I made the progress callback get called properly during proxy CONNECT.
2008-01-25 23:33:45 +00:00
Daniel Stenberg
c914e6ea5d
"Igor" pointed out that CURLOPT_COOKIELIST set to "ALL" leaked memory, and so
...
did "SESS". Fixed now.
2008-01-23 22:22:12 +00:00
Daniel Stenberg
53108806af
Joe Malicki filed bug report #1871269
...
(http://curl.haxx.se/bug/view.cgi?id=1871269 ) and we could fix his hang-
problem that occurred when doing a large HTTP POST request with the
response-body read from a callback.
2008-01-14 22:02:14 +00:00
Daniel Stenberg
18faa50940
Georg Lippitsch brought CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA to allow
...
libcurl to seek in a given input stream. This is particularly important when
doing upload resumes when there's already a huge part of the file present
remotely. Before, and still if this callback isn't used, libcurl will read
and through away the entire file up to the point to where the resuming
begins (which of course can be a slow opereration depending on file size,
I/O bandwidth and more). This new function will also be preferred to get
used instead of the CURLOPT_IOCTLFUNCTION for seeking back in a stream when
doing multi-stage HTTP auth with POST/PUT.
2008-01-10 10:30:19 +00:00
Daniel Stenberg
7b1a22147e
David Wright filed bug report #1849764
...
(http://curl.haxx.se/bug/view.cgi?id=1849764 ) with an included fix. He
identified a problem for re-used connections that previously had sent
Expect: 100-continue and in some situations the subsequent POST (that didn't
use Expect:) still had the internal flag set for its use. David's fix (that
makes the setting of the flag in every single request unconditionally) is
fine and is now used!
2007-12-13 10:00:06 +00:00
Daniel Stenberg
662bee7193
All static functions that were previously name Curl_* something no longer
...
use that prefix as we use that prefix only for library-wide internal global
symbols.
2007-12-08 22:50:55 +00:00
Daniel Stenberg
7d3ea12b62
Spacen Jasset reported a problem with doing POST (with data read with a
...
callback) over a proxy when NTLM is used as auth with the proxy. The bug
also concerned Digest and was limited to using callback only. Spacen worked
with us to provide a useful patch. I added the test case 547 and 548 to
verify two variations of POST over proxy with NTLM.
2007-12-05 21:20:14 +00:00
Daniel Stenberg
1c93e75375
Michal Marek introduced CURLOPT_PROXY_TRANSFER_MODE which is used to control
...
the appending of the "type=" thing on FTP URLs when they are passed to a
HTTP proxy. Some proxies just don't like that appending (which is done
unconditionally in 7.17.1), and some proxies treat binary/ascii transfers
better with the appending done!
2007-12-02 23:38:23 +00:00
Daniel Stenberg
13648f8ccd
struct HandleData is now called struct SingleRequest, and is only for data that
...
is inited at the start of the DO action. I removed the Curl_transfer_keeper
struct completely, and I had to move out a few struct members (that had to
be set before DO or used after DONE) to the UrlState struct. The SingleRequest
struct is accessed with SessionHandle->req.
One of the biggest reasons for doing this was the bunch of duplicate struct
members in HandleData and Curl_transfer_keeper since it was really messy to
keep track of two variables with the same name and basically the same purpose!
2007-11-24 23:16:55 +00:00
Daniel Stenberg
86956c2261
white space changes only to clean up indent and source width
2007-11-20 23:02:58 +00:00
Yang Tse
4f05613fbb
Fix unsigned integral math check in add_buffer_send()
2007-11-16 01:19:46 +00:00
Daniel Stenberg
22e52ddd6e
Ates Goral identified a problem in http.c:add_buffer_send() when a debug
...
callback was used, as it could wrongly pass on a bad size for the outgoing
HTTP header. The bad size would be a very large value as it was a wrapped
size_t content. This happened when the whole HTTP request failed to get sent
in one single send. http://curl.haxx.se/mail/lib-2007-11/0165.html
2007-11-15 23:42:21 +00:00
Daniel Stenberg
1125d45397
removed unnecessary check from add_buffer_send() that only was made within
...
#ifdef CURL_DOES_CONVERSIONS anyway! I turned it into a DEBUGASSERT() instead.
2007-11-15 23:30:59 +00:00
Yang Tse
a2926ebe7c
Fix a variable potential wrapping in add_buffer() when using absolutely
...
huge send buffer sizes
2007-11-14 00:48:11 +00:00
Daniel Stenberg
ad6e28073c
removed space after if and while before the parenthesis for better source code
...
consistency
2007-11-05 09:45:09 +00:00
Yang Tse
e550df675a
Fix compiler warning: subscript has type `char'
2007-10-23 10:14:24 +00:00
Daniel Stenberg
5b358603bd
Michal Marek forwarded the bug report
...
https://bugzilla.novell.com/show_bug.cgi?id=332917 about a HTTP redirect to
FTP that caused memory havoc. His work together with my efforts created two
fixes:
#1 - FTP::file was moved to struct ftp_conn, because is has to be dealt with
at connection cleanup, at which time the struct HandleData could be
used by another connection.
Also, the unused char *urlpath member is removed from struct FTP.
#2 - provide a Curl_reset_reqproto() function that frees
data->reqdata.proto.* on connection setup if needed (that is if the
SessionHandle was used by a different connection).
2007-10-22 15:05:35 +00:00
Yang Tse
92433e596b
We use this ZERO_NULL to avoid picky compiler warnings,
...
when assigning a NULL pointer to a function pointer var.
2007-10-17 16:58:32 +00:00
Patrick Monnerat
a005243908
Fix dynamic CURLOPT_POSTFIELDS bug: back to static.
...
CURLOPT_COPYPOSTFIELDS option added for dynamic.
Fix some OS400 features.
2007-10-15 18:32:01 +00:00
Dan Fandrich
7831c1ae44
Fixed a few compile errors and warnings.
2007-10-12 18:49:14 +00:00
Patrick Monnerat
07b6e7363d
Added per-protocol callback static tables, replacing callback ptr storage
...
in the connectdata structure by a single handler table ptr.
2007-10-12 13:36:37 +00:00
Daniel Stenberg
08fd1829e0
Known bug #47 , which confused libcurl if doing NTLM auth over a proxy with
...
a response that was larger than 16KB is now improved slightly so that now
the restriction at 16KB is for the headers only and it should be a rare
situation where the response-headers exceed 16KB. Thus, I consider #47 fixed
and the header limitation is now known as known bug #48 .
2007-10-07 08:28:03 +00:00
Daniel Stenberg
119364741e
known bug #46 : chunked-encoded CONNECT responses from a http proxy now works.
...
Added test case 1008 to verify. Note that #47 is still there.
2007-10-02 10:21:36 +00:00
Daniel Stenberg
015d5869d7
Mark Davies fixed Negotiate authentication over proxy, and also introduced
...
the --proxy-negotiate command line option to allow a user to explicitly
select it.
2007-09-21 11:05:31 +00:00
Daniel Stenberg
e04151ed76
Michal Marek made libcurl automatically append ";type=<a|i>" when using HTTP
...
proxies for FTP urls.
2007-09-15 21:14:12 +00:00
Dan Fandrich
8cf0814a14
Fixed some minor type mismatches and missing consts mainly found by splint.
2007-08-27 06:31:28 +00:00
Dan Fandrich
523767660c
Fixed some minor mismatched types found by splint.
2007-08-26 05:53:26 +00:00
Daniel Stenberg
5a79532aee
Song Ma provided a patch that cures a problem libcurl has when doing resume
...
HTTP PUT using Digest authentication. Test case 5320 and 5322 were also
added to verify the functionality.
2007-08-17 20:21:32 +00:00
Daniel Stenberg
59c16a570f
argh, Greg Morse pointed out that the NTLM POST fix only worked if VERBOSE
...
was set, this should make it work for all cases!
2007-08-02 11:34:50 +00:00
Daniel Stenberg
50c10aa5bf
Patrick Monnerat and I modified libcurl so that now it *copies* all strings
...
passed to it with curl_easy_setopt()! Previously it has always just refered
to the data, forcing the user to keep the data around until libcurl is done
with it. That is now history and libcurl will instead clone the given
strings and keep private copies.
2007-08-01 21:20:01 +00:00
Daniel Stenberg
006878686c
Greg Morse reported a problem with POSTing using ANYAUTH to a server requiring
...
NTLM, and he provided test code and a test server and we worked out a bug
fix. We failed to count sent body data at times, which then caused internal
confusions when libcurl tried to send the rest of the data in order to
maintain the same connection alive.
(and then I did some minor reformatting of code in lib/http.c)
2007-08-01 12:58:04 +00:00
Daniel Stenberg
f01c6e51f4
Patrick Monnerat restored qssl successful compilation and loading
2007-07-30 21:41:12 +00:00
Dan Fandrich
5ecd56d964
Implemented only the parts of Patrick Monnerat's OS/400 patch that renamed
...
some few internal identifiers to avoid conflicts, which could be useful on
other platforms.
2007-07-23 18:51:22 +00:00
Daniel Stenberg
dc2c70be07
Giancarlo Formicuccia reported and fixed a problem with a closed connection
...
to a proxy during CONNECT auth negotiation.
2007-07-10 22:31:13 +00:00
Dan Fandrich
d46d995766
Fixed some out of memory handling issues.
2007-04-10 22:52:50 +00:00
Daniel Stenberg
5daa6b9367
Ravi Pratap provided fixes for HTTP pipelining
2007-04-10 20:46:40 +00:00
Dan Fandrich
910ee13b20
Fixed an out of memory handling issue.
2007-04-10 00:38:41 +00:00
Yang Tse
0d635a1119
fix out of memory handling issue
2007-04-06 20:53:15 +00:00
Yang Tse
c895dc8a19
runtests -t discovered this out of memory handling issues
2007-04-05 11:09:46 +00:00
Daniel Stenberg
990b15e402
Rob Jones fixed better #ifdef'ing for a bunch of #include lines.
2007-04-03 20:54:37 +00:00
Yang Tse
d58c7a8bdd
Update message
2007-03-27 18:16:35 +00:00
Yang Tse
fba4cd0e62
Internal function Curl_select() renamed to Curl_socket_ready()
2007-03-26 23:23:46 +00:00
Gisle Vanem
c514a2a89a
Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-files
...
since they're already included through "setup.h".
2007-02-26 04:24:26 +00:00
Daniel Stenberg
b819c72700
- Adam D. Moss made the HTTP CONNECT procedure less blocking when used from
...
the multi interface. Note that it still does a part of the connection in a
blocking manner.
2007-02-25 11:38:13 +00:00
Yang Tse
3a634a273a
curlassert macro replaced with DEBUGASSERT macro defined in setup_once.h
2007-02-21 19:03:20 +00:00
Daniel Stenberg
cbf58d88d0
- Jeff Pohlmeyer identified two problems: first a rather obscure problem with
...
the multi interface and connection re-use that could make a
curl_multi_remove_handle() ruin a pointer in another handle.
The second problem was less of an actual problem but more of minor quirk:
the re-using of connections wasn't properly checking if the connection was
marked for closure.
2007-02-18 23:02:42 +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
Yang Tse
e213555c98
compiler warning fix
2007-02-06 18:06:37 +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
abdbd3100f
- Michael Wallner reported that when doing a CONNECT with a custom User-Agent
...
header, you got _two_ User-Agent headers in the CONNECT request...! Added
test case 287 to verify the fix.
2007-01-29 09:26:36 +00:00
Daniel Stenberg
45bac25d90
bail out on strdup() errors
2007-01-24 12:34:23 +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
0fb5a65a58
- David McCreedy provided libcurl changes for doing HTTP communication on
...
non-ASCII platforms. It does add some complexity, most notably with more
#ifdefs, but I want to see this supported added and I can't see how we can
add it without the extra stuff added.
2007-01-14 14:57:51 +00:00
Daniel Stenberg
359d500908
- David McCreedy made changes to allow base64 encoding/decoding to work on
...
non-ASCII platforms.
2007-01-03 23:04:38 +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
Gisle Vanem
33831759b5
Fix typo.
2006-12-15 16:49:40 +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
44d84ac164
Avoid typecasting a signed char to an int when using is*() functions, as that
...
could very well cause a negate number get passed in and thus cause reading
outside of the array usually used for this purpose.
We avoid this by using the uppercase macro versions introduced just now that
does some extra crazy typecasts to avoid byte codes > 127 to cause negative
int values.
2006-10-17 21:32:56 +00:00
Yang Tse
ec956b0334
Explicit typecast for Curl_debug() size argument
2006-10-17 10:04:13 +00:00
Yang Tse
433c0c895e
Compiler warning fix
2006-10-17 02:31:06 +00:00
Yang Tse
10d1fc0e73
Compiler warning fix
2006-10-15 23:13:12 +00:00
Dan Fandrich
5ccbbe40c2
The tagging of application/x-www-form-urlencoded POST body data sent
...
to the CURLOPT_DEBUGFUNCTION callback has been fixed (it was erroneously
included as part of the header). A message was also added to the
command line tool to show when data is being sent, enabled when
--verbose is used.
2006-10-13 21:02:27 +00:00
Yang Tse
e150150d9f
Remove redundant __CYGWIN__ symbol check
2006-10-11 16:01:16 +00:00
Yang Tse
733a184ce0
Compiler warning fix
2006-09-12 23:51:01 +00:00
Yang Tse
c30e908034
Compiler warning fix
2006-09-10 23:37:42 +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
4f4277d9c7
Simplified #ifdef on WIN32; the statement
...
" !defined(__GNUC__) || defined(__MINGW32__)" implies
CygWin.
2006-09-03 13:52:07 +00:00
Gisle Vanem
c7aae10300
Removed "#ifndef__WATCOMC__". Use "#ifdef HAVE_SYS_TIME_H" instead.
2006-08-30 16:17:06 +00:00
Gisle Vanem
59cf6fd4f0
Watcom lacks <sys/time.h>.
2006-08-29 18:45:55 +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
490cccba3c
Andrew Biggs pointed out a "Expect: 100-continue" flaw where libcurl didn't
...
send the whole request at once, even though the Expect: header was disabled
by the application. An effect of this change is also that small (< 1024
bytes) POSTs are now always sent without Expect: header since we deem it
more costly to bother about that than the risk that we send the data in
vain.
2006-08-18 22:54:57 +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
8a38c72c48
Mark Lentczner fixed how libcurl was not properly doing chunked encoding
...
if the header "Transfer-Encoding: chunked" was set by the application.
http://curl.haxx.se/bug/view.cgi?id=1531838
2006-08-02 18:18:47 +00:00
Daniel Stenberg
a88deadd6f
Yves Lejeune fixed so that replacing Content-Type: when doing multipart
...
formposts work exactly the way you want it (and the way you'd assume it
works)
2006-07-27 22:35:09 +00:00
Yang Tse
4ac54f8c2c
remove variable declaration shadowing previously declared one
2006-07-19 18:32:38 +00:00
Yang Tse
840aacf7dd
Remove variable declaration shadowing previously declared one
2006-07-19 18:19:30 +00:00
Daniel Stenberg
8bed45340a
Toshiyuki Maezawa fixed a problem where you couldn't override the
...
Proxy-Connection: header when using a proxy and not doing CONNECT.
2006-07-04 12:01:59 +00:00
Daniel Stenberg
b62c230ca2
Curl_https_getsock() was OpenSSL-specific and really should not be present
...
like this in this source file. The quickfix for now is to provide a simple
version for GnuTLS builds. The GnuTLS version of libcurl doesn't yet allow
fully non-blocking connects anyway so this function doesn't get used.
2006-05-05 22:14:40 +00:00
Daniel Stenberg
e85e30546c
Roland Blom filed bug report #1481217
...
(http://curl.haxx.se/bug/view.cgi?id=1481217 ), with follow-ups by Michele Bini
and David Byron. libcurl previously wrongly used GetLastError() on windows to
get error details after socket-related function calls, when it really should
use WSAGetLastError() instead.
When changing to this, the former function Curl_ourerrno() is now instead
called Curl_sockerrno() as it is necessary to only use it to get errno from
socket-related functions as otherwise it won't work as intended on Windows.
2006-05-04 22:39:47 +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
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
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
bda1e9aeab
Made the copyright year match the latest modification's year.
2006-01-09 13:17:14 +00:00
Daniel Stenberg
f4cc8153ae
Mike Jean fixed so that the second CONNECT when doing FTP over a HTTP proxy
...
actually used a new connection and not sent the second request on the first
socket!
2006-01-07 22:24:16 +00:00
Daniel Stenberg
be9c873a6e
Dave Dribin made libcurl understand and handle cases when the server
...
(wrongly) sends *two* WWW-Authenticate headers for Digest. While this should
never happen in a sane world, libcurl previously got into an infinite loop
when this occurred. Dave added test 273 to verify this.
2005-10-20 20:07:32 +00:00
Daniel Stenberg
c3a826fdce
correction for the 407 with response-body case
2005-07-05 22:07:34 +00:00
Daniel Stenberg
20005a83d2
Andrew Bushnell provided enough info for me to tell that we badly needed to
...
fix the CONNECT authentication code with multi-pass auth methods (such as
NTLM) as it didn't previously properly ignore response-bodies - in fact it
stopped reading after all response headers had been received. This could
lead to libcurl sending the next request and reading the body from the first
request as response to the second request. (I also renamed the function,
which wasn't strictly necessary but...)
The best fix would to once and for all make the CONNECT code use the
ordinary request sending/receiving code, treating it as any ordinary request
instead of the special-purpose function we have now. It should make it
better for multi-interface too. And possibly lead to less code...
Added test case 265 for this. It doesn't work as a _really_ good test case
since the test proxy is too stupid, but the test case helps when running the
debugger to verify.
2005-07-03 22:25:15 +00:00
Daniel Stenberg
5d9fc28fa7
Modified the default HTTP headers used by libcurl:
...
A) Normal non-proxy HTTP:
- no more "Pragma: no-cache" (this only makes sense to proxies)
B) Non-CONNECT HTTP request over proxy:
- "Pragma: no-cache" is used (like before)
- "Proxy-Connection: Keep-alive" (for older style 1.0-proxies)
C) CONNECT HTTP request over proxy:
- "Host: [name]:[port]"
- "Proxy-Connection: Keep-alive"
2005-05-11 09:52:59 +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
c904b6b5bf
Toshiyuki Maezawa reported that when doing a POST with a read callback,
...
libcurl didn't properly send an Expect: 100-continue header. It does now.
2005-04-18 17:14:58 +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
74816fed6c
Hardeep Singh reported a problem doing HTTP POST with Digest. (It was actually
...
also affecting NTLM and Negotiate.) It turned out that if the server responded
with 100 Continue before the initial 401 response, libcurl didn't take care of
the response properly. Test case 245 and 246 added to verify this.
2005-04-03 22:46:25 +00:00
Daniel Stenberg
158588640a
Don't close the connection if we're in a known negotiation mode and we won't
...
send any data anyway. Probably the bug Tom Moers noticed.
2005-03-29 12:28:25 +00:00
Daniel Stenberg
8a076d1dba
Based on Augustus Saunders' comments and findings, the HTTP output auth
...
function was fixed to use the proper proxy authentication when multiple ones
were added as accepted. test 239 and test 243 were added to repeat the
problems and verify the fixes.
2005-03-28 22:19:31 +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
5ba188ab2d
Ralph Mitchell reported a flaw when you used a proxy with auth, and you
...
requested data from a host and then followed a redirect to another
host. libcurl then didn't use the proxy-auth properly in the second request,
due to the host-only check for original host name wrongly being extended to
the proxy auth as well. Added test case 233 to verify the flaw and that the
fix removed the problem.
2005-02-18 23:53:07 +00:00
Daniel Stenberg
ac022b2e30
Christopher R. Palmer reported a problem with HTTP-POSTing using "anyauth"
...
that picks NTLM. Thanks to David Byron letting me test NTLM against his
servers, I could quickly repeat and fix the problem. It turned out to be:
When libcurl POSTs without knowing/using an authentication and it gets back a
list of types from which it picks NTLM, it needs to either continue sending
its data if it keeps the connection alive, or not send the data but close the
connection. Then do the first step in the NTLM auth. libcurl didn't send the
data nor close the connection but simply read the response-body and then sent
the first negotiation step. Which then failed miserably of course. The fixed
version forces a connection if there is more than 2000 bytes left to send.
2005-02-16 14:31:23 +00:00
Daniel Stenberg
e7cefd684b
Removed all uses of strftime() since it uses the localised version of the
...
week day names and month names and servers don't like that.
2005-02-11 00:03:49 +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
Gisle Vanem
7b23eff9cf
Preserve previous status in Curl_http_done().
2005-02-06 12:43:40 +00:00
Daniel Stenberg
7e42cb61f7
FTP third transfer support overhaul. See CHANGES for details.
2005-01-21 09:32:32 +00:00
Daniel Stenberg
494c40fd98
NULL the fp pointer after it has been fclosed()
2004-12-16 13:55:19 +00:00
Daniel Stenberg
d3b414724b
Dinar in bug report #1086121 , found a file handle leak when a multipart
...
formpost (including a file upload part) was aborted before the whole file was
sent.
2004-12-16 09:52:36 +00:00
Daniel Stenberg
c0c885a1f3
don't try the rewind if no http struct is allocated yet
2004-12-10 14:45:35 +00:00
Daniel Stenberg
ac269a8f68
Dan Fandrich added the --disable-cookies option to configure to build
...
libcurl without cookie support. This is mainly useful if you want to build a
minimalistic libcurl with no cookies support at all. Like for embedded
systems or similar.
2004-12-05 23:59:32 +00:00
Daniel Stenberg
6ac9e67bd7
made the intended one hour default timeout in the CONNECT loop actually work
2004-12-02 23:30:13 +00:00
Daniel Stenberg
8726a6b6ed
comment cleanup
2004-12-02 22:52:14 +00:00
Daniel Stenberg
15360e5e51
prevent an initial "(nil)" to get sent in the initial request when doing
...
CONNECT to a proxy with digest
2004-12-02 17:08:37 +00:00
Daniel Stenberg
3e1caa6185
HTTP "auth done right". See lib/README.httpauth
2004-11-24 16:11:35 +00:00
Daniel Stenberg
1a05a90f1c
David Phillips' FD_SETSIZE fix
2004-11-19 08:52:33 +00:00
Daniel Stenberg
94043b1150
Dan Fandrich added the --disable-crypto-auth option to configure to allow
...
libcurl to build without Digest support. (I figure it should also explicitly
disable Negotiate and NTLM.)
2004-11-12 09:18:14 +00:00
Daniel Stenberg
59c063dfd3
Fix behaviour when passing NULL to CURLOPT_POSTFIELDS and CURLOPT_HTTPPOST.
2004-11-11 23:11:04 +00:00
Daniel Stenberg
6b49fd7483
Tim Sneddon's VMS fix for huge HTTP POSTs
2004-11-05 14:43:35 +00:00
Daniel Stenberg
24d47a6e07
Paul Nolan fix to make libcurl build nicely on Windows CE
2004-11-02 10:12:22 +00:00
Daniel Stenberg
a00e7f0f5e
Tomas Pospisek filed bug report #1053287 that proved -C - and --fail on a
...
file that was already completely downloaded caused an error, while it
doesn't if you don't use --fail! I added test case 194 to verify the fix.
Grrr. CURLOPT_FAILONERROR is now added to the list stuff to remove in
libcurl v8 due to all the kludges needed to support it.
2004-10-25 11:28:40 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +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
723bfe42e7
Roman Koifman pointed out that libcurl send Expect: 100-continue on POSTs and
...
PUTs even when told to use HTTP 1.0, which is not correct.
2004-08-23 12:34:55 +00:00
Daniel Stenberg
2646af106b
allow a custom "Accept-Encoding:" header override the internally set one
...
that gets set with CURLOPT_ENCODING
2004-08-16 13:25:30 +00:00
Daniel Stenberg
45197b188e
Roland Krikava's cookies over proxy fix.
2004-08-16 07:24:25 +00:00
Daniel Stenberg
a7bed4fc7c
Fixes Brian Akins' reported problems with duplicate Host: headers on re-used
...
connections.
2004-07-28 21:13:29 +00:00
Daniel Stenberg
fcfd4bef2d
typecast to prevent picky compiler warning
2004-07-01 07:30:19 +00:00
Daniel Stenberg
e35187741b
spellfixed comments
2004-07-01 06:08:06 +00:00
Daniel Stenberg
0031d76f2a
use snprintf() to be on the safe side
2004-06-24 10:43:22 +00:00
Daniel Stenberg
cd7a0f829f
When doing auth negotiations or authprobing, we only consider HTTP code
...
<300 to be good.
2004-06-19 10:10:24 +00:00
Daniel Stenberg
d4b577114b
With David Byron's test server I could repeat his problem and make sure that
...
POSTing over HTTPS:// with NTLM works fine now. There was a general problem
with multi-pass authentication with non-GET operations with CONNECT.
2004-06-18 06:15:26 +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
4cd96483f6
moved default: in a switch case to prevent compiler warning that 'request'
...
might be used uninitialized
2004-06-13 09:08:38 +00:00
Daniel Stenberg
fce9d51122
updated a comment
2004-06-03 14:42:08 +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
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
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
bbafb2eb27
curl_global_init_mem() allows the memory functions to be replaced.
...
memory.h is included everywhere for this.
2004-05-11 11:30:23 +00:00
Daniel Stenberg
63f97b38eb
Moved the fetching of the list of matching cookies to make it easier to free
...
that list in case something goes wrong in the function and we must bail out.
Courtesy of the torture testing.
2004-05-10 14:22:20 +00:00
Daniel Stenberg
1f798affb9
typo
2004-05-10 10:52:29 +00:00
Daniel Stenberg
71fdc063bd
better detection for when add_buffer() returns failure, and return when that
...
happens
2004-05-10 10:49:35 +00:00
Daniel Stenberg
afc1ed60f7
initiate variables properly to default to no auth for server and proxy
2004-05-05 13:00:03 +00:00
Daniel Stenberg
76ff92b811
bail out when an add_buffer() function returns failure
2004-05-04 14:27:07 +00:00
Daniel Stenberg
08d1da106e
check malloc() return code
2004-05-04 13:39:24 +00:00
Daniel Stenberg
fc6eff13b5
General HTTP authentication cleanup and fixes
2004-05-04 07:52:53 +00:00
Daniel Stenberg
59907ebc0e
fixed the host/proxy name issue when re-using a connection and made IDN names
...
work when using proxy by converting the IDN-name to the ACE-encoded version
before the request-URL is passed to the proxy.
2004-04-29 13:41:48 +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
70e2aadc18
Replaced Curl_FormReadOneLine with Curl_formpostheader as that is the only use
...
for it. It saves one extra copy of the header.
I also added comments for several functions in formdata.c
2004-04-23 10:37:52 +00:00
Daniel Stenberg
550862f41a
missing brace
2004-04-22 21:27:32 +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
33cb93ad0b
Added comments
2004-04-22 12:35:45 +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
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
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
7ea837a18c
adjusted to the new dns cache function to hide more hostip internals
2004-03-30 13:02:31 +00:00
Daniel Stenberg
76f23acfa1
if 0'ed out a code section that uses __FUNCTION__ etc, used for debugging
...
the new "fail with auth" code
2004-03-30 08:21:09 +00:00
Daniel Stenberg
8e92600ddd
David Byron made CURLOPT_FAILONERROR work with authentications such as NTLM
...
or Digest.
2004-03-30 06:40:01 +00:00
Daniel Stenberg
f788f988ea
fix signed and unsigned warnings
2004-03-14 18:15:04 +00:00
Daniel Stenberg
d04ffd258b
postsize is off_t now, so we typecase it to int before doing normal printf
...
with it (knowing it won't be larger than what fits in an int)
2004-03-13 17:11:42 +00:00
Daniel Stenberg
24cfa7f1bb
the postsize is an off_t so use the proper printf format to output the
...
content-length when doing multipart posts
2004-03-13 17:03:17 +00:00
Daniel Stenberg
94a1d09ac7
more variable type fixing for the huge posts
2004-03-12 14:22:16 +00:00
Daniel Stenberg
4ad68ec305
more variable type fixes for the large POST support
2004-03-12 13:06:01 +00:00
Daniel Stenberg
ef776ab893
Made the 'postsize' variable an off_t type to be able to hold large file
...
sizes if desired
2004-03-12 12:07:01 +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
7225b14002
curl_socket_t mistakes cleanup
2004-03-10 16:01:47 +00:00
Daniel Stenberg
cf004cbc7e
keep the number of bytes read in a size_t variable
2004-03-10 09:44:42 +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
7b2869338d
explicit typecast to visualize that we really want the result of the
...
operation as a size_t
2004-03-09 21:39:50 +00:00
Daniel Stenberg
498666bdc3
issue 12 fix
2004-03-05 12:54:18 +00:00
Daniel Stenberg
353f764119
Yet another curl_off_t printf format attempt, we now exclude the %-letter from
...
FORMAT_OFF_T to allow additional options to get specified, like with '"%5"
FORMAT_OFF_T'.
2004-03-02 09:31:18 +00:00
Daniel Stenberg
7ab3b5b3bb
use FORMAT_OFF_T instead of CURL_FORMAT_OFF_T to reduce the complexity of
...
having to redef that name
2004-03-02 07:25:39 +00:00
Daniel Stenberg
cb72a80fe0
Use CURL_FORMAT_OFF_T for printf()inf curl_off_t variables.
2004-03-01 16:28:00 +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
e1b5e15431
More size_t cleanups in the base64 functions.
2004-02-23 08:22:43 +00:00
Daniel Stenberg
93e32e6f62
Modified the default HTTP Accept: header to only be Accept: */*
2004-02-09 12:46:41 +00:00
Daniel Stenberg
f56d753507
A custom Host: header is only considered if the request is not made by
...
following a location. After discussions with Tim Baker.
2004-02-06 08:11:58 +00:00
Daniel Stenberg
cc90a235f4
if an empty 'transfer-encoding:' header is provided, we switch off the
...
chunky coding of uploads
2004-02-05 15:50:16 +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
4d17d6876e
Dan Fandrich's cleanup patch to make pedantic compiler options cause less
...
warnings. Minor edits by me.
2004-01-29 13:56:45 +00:00
Daniel Stenberg
958987c214
Chunked-transfers should have an additional CRLF after the final 0 CRLF
...
sequence.
2004-01-28 17:07:22 +00:00
Daniel Stenberg
dc932f739a
CONNECT response headers are now passed back as "regular" headers
2004-01-27 12:54:22 +00:00
Daniel Stenberg
b791e158f0
use curl_off_t instead of off_t!
2004-01-22 12:45:50 +00:00
Daniel Stenberg
44031f32a1
added one assert and a few comments describing how the auth stuff works
2004-01-09 14:03:06 +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
1d977b7848
When basic is the only auth wanted (which it is by default), the auth phase
...
is always considered done immediately as Basic needs to extra passes.
This fix corrects bug report #848371 .
2003-11-25 09:05:15 +00:00
Daniel Stenberg
45614d54c6
allow the end-of-headers from a proxy response to CONNECT end with a CRCR
...
as well as a CRLF
2003-11-24 16:17:55 +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
f481b3e1dc
bail out properly on a 407 when we can't authenticate basic, bug report
...
#845247
2003-11-20 09:53:42 +00:00
Daniel Stenberg
a717afc3a7
gmtime() really can't even return NULL, can it?
2003-10-31 21:43:22 +00:00
Daniel Stenberg
7247041e21
Improved checks for bad memory situations and proper behaviour when we
...
run out of memory.
2003-10-24 12:58:29 +00:00
Daniel Stenberg
d1c08e1d85
conn->user and conn->passwd will now always be set to point to something.
...
If not user or password is set, they will point to a "" string.
2003-10-21 06:34:15 +00:00
Daniel Stenberg
b83c7ade10
allow no user and password for proxy too, Basic
2003-10-20 20:32:08 +00:00
Daniel Stenberg
7d6584e140
allow no user and no passwd when doing basic auth
2003-10-20 20:30:40 +00:00
Daniel Stenberg
9df8f9a63d
builds warning-free with -Wshadow now
2003-10-18 20:35:03 +00:00
Daniel Stenberg
f0089b6291
compiler warning fix
2003-10-18 20:14:21 +00:00
Daniel Stenberg
9935d33b8e
make empty names look fine in verbose output
2003-10-17 09:29:30 +00:00
Daniel Stenberg
260c353577
show info text (verbose) about auth type and user name in use
2003-10-17 07:05:26 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
b61c25af45
make sure that a regular POST using the read callback works
2003-10-07 14:39:32 +00:00
Daniel Stenberg
780652e5b6
Vincent Bronner pointed out that if you set CURLOPT_COOKIE to NULL, it still
...
sends off the previously set cookie. This also concerns CURLOPT_REFERER.
This fix should stop this.
2003-10-04 15:48:15 +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
58b1437cae
When we issue a HTTP request, first make sure if the authentication phase
...
is over or not, as if it isn't we shall not begin any PUT or POST operation.
This cures bug report #805853 , and test case 88 verifies it!
2003-09-15 21:11: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
f2057eb744
ah, this change broke multiple test cases
2003-09-04 13:07:09 +00:00
Daniel Stenberg
2956fe97a0
Jrg pointed out that I did this fix wrongly, now authwant is cleared
...
properly if no auth is available
2003-09-04 11:34:09 +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
8fae12b2f1
1. store the httpproxycode in the loop after it is parsed
...
2. made Curl_http_auth_act() reset 'authavail' unconditionally
2003-09-04 10:18:12 +00:00
Daniel Stenberg
7410210f19
avoid proxy (and other) auth if no user+password is given
2003-09-04 10:08:53 +00:00
Daniel Stenberg
52ceab5e41
Re-arranged code to make the proxy-CONNECT loop able to do some of the
...
authentication negotiations needed for NTLM, Digest etc.
2003-09-03 21:51:28 +00:00
Daniel Stenberg
a3c1248214
Bugfix from Serge Semashko that fixes a bug introduced when we applied his
...
NTLM patch. Test case 84 and 85 verify this.
2003-08-12 08:20:16 +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
2dd1518d63
support sending off cookies without contents
2003-08-11 09:55:48 +00:00
Daniel Stenberg
c704d1545c
include "share.h" for the cookie sharing
2003-08-06 15:26:24 +00:00
Daniel Stenberg
41ae97e710
Dirk Manske's patch that introduces cookie support to the share interface.
2003-08-04 15:02:42 +00:00
Daniel Stenberg
db9f87f697
When proxy authentication is used in a CONNECT request (as used for all SSL
...
connects and otherwise enforced tunnel-thru-proxy requests), the same
authentication header is also wrongly sent to the remote host.
The name and password can then be captured by an evil host and possibly get
used for malicious purposes.
2003-08-02 23:36:35 +00:00
Daniel Stenberg
48a580e609
clear http->send_buffer when we have freed the memory it pointed to
2003-07-28 10:21:57 +00:00
Daniel Stenberg
f0278ca114
Removed #include <sys/resource.h>, as pointed out by Henry Bland we don't
...
need it.
2003-07-25 08:30:58 +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
52b631fade
Access the user and passwd fields from the connectdata struct now instead
...
of the sessionhandle struct, as that was not good.
2003-07-19 23:56:33 +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
12859e345f
major adjustments to the new authentication support
2003-06-26 11:24:55 +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
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
e56ae1426c
Daniel Kouril's patch that adds HTTP negotiation support to libcurl was
...
added.
2003-06-10 12:22:19 +00:00
Daniel Stenberg
8d30d34e0c
When doing very big GET requests over HTTPS, we need to add some extra
...
funky logic in order to make re-tries work fine with OpenSSL. This corrects
the problem David Orrell noticed.
2003-06-06 14:58:26 +00:00
Daniel Stenberg
4e410111db
Posting static data using POST and chunked encoded now also appends the
...
data to the initial request buffer, if the total post data is less than
100K.
2003-05-28 07:54:33 +00:00
Daniel Stenberg
5bd8d60e41
Rudy Koento experienced problems with curl's recent habit of POSTing data in
...
two separate send() calls, first the headers and then the data. I've now made
a fix that for static and known content that isn't to be chunked-encoded,
everything is now sent in one single system call again. This is also better
for network performance reasons.
2003-05-27 08:33:08 +00:00
Daniel Stenberg
90b0f38316
Another socks5-fix. Make sure that when we use a socks-proxy, it is not the
...
same as using a httpproxy so we must make sure to better check for http
proxies before we do HTTP proxy stuff. This included authorization and
URI usage in the request etc.
2003-05-27 06:28:25 +00:00
Daniel Stenberg
01108e3a63
warning-free is better
2003-05-22 22:45:38 +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
940707ad66
incoming proxy headers shall be sent to the debug function has HEADERs not
...
DATA
2003-05-12 12:29:00 +00:00
Daniel Stenberg
1752d80915
If there is a custom Host: header specified, we use that host name to
...
extract the correct set of cookies to send. This functionality is verified
by test case 62.
2003-05-02 09:13:19 +00:00
Daniel Stenberg
bea02ddebe
stop parsing Host: host names at colons too
2003-04-30 17:12:29 +00:00
Daniel Stenberg
7c96c5a39b
extract host name from custom Host: headers to use for cookies
2003-04-30 17:04:53 +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
d349eb3d43
Juan F. Codagnone pointed out a missing thing from the march 2 fix
2003-03-16 16:15:24 +00:00
Daniel Stenberg
17962b3d2e
Added typecast to please the MSVC compiler.
2003-03-03 06:45:27 +00:00
Daniel Stenberg
3242ea5f66
Init postdata properly before issuing a request, so that there isn't any
...
lingering POST-stuff that confuses GET requests. Juan F. Codagnone reported
this problem in bug report #653859 .
2003-03-02 17:43:42 +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
a7c72b7abf
removed the local variables for emacs and vim, use the new sample.emacs
...
way for emacs, and vim users should provide a similar non-polluting style
2003-01-29 10:14:20 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +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
bf678a1ca9
only use Content-Length: header if not transfering data chunked
2002-12-01 11:20:41 +00:00
Daniel Stenberg
eef6c83503
Moved the compareheader function into this file and added Curl_ prefix
...
We now check if the chunked transfer-encoding header has been added "by force"
and if so, we enabled the chunky upload!
2002-11-28 15:45:06 +00:00
Daniel Stenberg
e5e2fb8274
Dan Becker fixed a minor memory leak on persistent connnections using
...
FOLLOWLOCATION and CURLOPT_USERPWD.
2002-11-26 17:32:15 +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
701509d322
Jeff Lawson fixed a few problems with connection re-use that remained when
...
you set CURLOPT_PROXY to "".
2002-10-10 08:00:49 +00:00
Daniel Stenberg
969217c9d9
make sure we free rangeline before we re-assign it to a new allocated
...
memory as otherwise we (might) leak memory
2002-09-25 12:47:38 +00:00
Daniel Stenberg
b466924717
removed use of extra unneeded variable
2002-09-23 12:47:18 +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
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
982c5460f0
Andrew Francis removed the need for/use of MSVC pragmas
2002-08-26 17:20:29 +00:00
Daniel Stenberg
08ef208fb7
added disable-[protocol] support, largely provided by Miklos Nemeth
2002-06-11 11:13:01 +00:00
Daniel Stenberg
fc37ef9e4b
make sure data->set.postfields is non-NULL before doing strlen() on the
...
pointer. Bugs item #566835 .
2002-06-11 07:20:21 +00:00
Daniel Stenberg
c0257c6721
T. Bharath made the request size add up as it is documented to do.
2002-06-03 12:47:08 +00:00
Daniel Stenberg
ef436bdbe8
renamed the TIMECOND defines to be CURL_ prefixed
2002-04-22 23:53:15 +00:00
Daniel Stenberg
95f78080ab
This makes formposting with a specified file missing fail. curl_easy_perform
...
will then return CURLE_READ_ERROR.
2002-04-15 11:19:03 +00:00
Daniel Stenberg
93516effe4
the HTTP request is a CURLINFO_HEADER_OUT
2002-04-12 07:53:12 +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
e8109b09b1
error code cleanup, use the new SEND/RECV errors
2002-04-10 13:44:42 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Daniel Stenberg
468b787272
if CURLOPT_POSTFIELDS isn't set, but CURLOPT_POST is, we will assume that
...
we should read the POST-data from the read callback
2002-03-14 14:39:23 +00:00
Daniel Stenberg
535258ffe4
Philip Gladstone's size problem in add_buffer_send()
2002-02-18 22:41:52 +00:00
Daniel Stenberg
dfda7ba456
corrected the Expect: ignore, made Content-Type: possible to skip
2002-02-17 14:42:44 +00:00
Daniel Stenberg
c40b4f6c39
don't add 2 to the post size, that was a previous mistake because there
...
was an extra CRLF added to the post data
2002-02-07 09:32:40 +00:00
Daniel Stenberg
85dbf82d93
append a CRLF pair after the content-type line
2002-01-29 20:32:10 +00:00
Daniel Stenberg
e3f10eb825
no longer add CRLF _after_ POST data, it should not be needed. Pedro Neves
...
pointed out this ugliness.
2002-01-27 11:51:11 +00:00
Daniel Stenberg
cba9838e8f
Somewhat ugly fix to deal with non-blocking sockets. We just loop and try
...
again. THIS IS NOT A NICE FIX.
2002-01-16 14:47:00 +00:00
Daniel Stenberg
4931fbce49
Curl_read() now returns a negative return code if EWOULDBLOCK or similar
2002-01-14 23:14:59 +00:00
Daniel Stenberg
e192261788
failf() calls should not have newlines in the message string!
2001-12-11 13:13:01 +00:00
Daniel Stenberg
47e67eab26
corrected the comment above gmtime_r
2001-12-07 15:56:57 +00:00
Daniel Stenberg
650b95045d
added gmtime_r check
2001-12-07 15:51:59 +00:00
Daniel Stenberg
e6dd4a6456
Klevtsov Vadim's time condition fix
2001-11-16 11:21:50 +00:00
Daniel Stenberg
c2479ccb7a
my proxytunnel fix accidentally ruined the normal https connects
2001-11-13 08:34:24 +00:00
Daniel Stenberg
05f3ca880f
made CURLOPT_HTTPPROXYTUNNEL work for plain HTTP as well
2001-11-12 14:08:41 +00:00
Daniel Stenberg
1affbff8f9
new Curl_ConnectHTTPProxyTunnel() function, needs a **lot** of testing!!!
2001-11-12 09:47:09 +00:00
Daniel Stenberg
69d5d88259
Added better checking of return codes when we send data to sockets/connections
2001-10-31 14:57:00 +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
Sterling Hughes
8e91d5de8e
looks nicer and is better compatible with older vim versions
2001-10-11 09:32:19 +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
437fd064c9
modified GetLine(), removed Curl_http_close()
2001-09-18 15:29:57 +00:00
Sterling Hughes
6147879837
Added formatting sections for emacs and vim
2001-09-07 04:01:32 +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
08655d8d5d
Georg Huettenegger's patch curl-7.8.1-pre5-patch-20010819
2001-08-21 13:18:07 +00:00
Daniel Stenberg
1b00298b52
modified to use the renamed kerberos functions with Curl_ prefix
2001-08-17 10:14:06 +00:00
Daniel Stenberg
70ad8a0b2b
Using CURLOPT_POST without using CURLOPT_POSTFIELDS caused us to strlen()
...
a NULL pointer. Now, we treat a missing CURLOPT_POSTFIELDS as if there is
no data to send.
2001-08-15 13:38:36 +00:00
Daniel Stenberg
c11a1bf72a
made some char * into const char * and I removed the check for size > 0
...
in the add_buffer function.
2001-08-14 08:28:15 +00:00
Daniel Stenberg
2cf45f68b0
Curl_FormFree renamed to Curl_formclean, as it turns out VMS for example
...
requires all global symbols to be *case insentively* unique! curl_formfree
is a global function we shouldn't touch.
2001-08-06 12:36:18 +00:00
Daniel Stenberg
8987244758
httpreq cleanup fix
2001-08-03 11:52:53 +00:00
Daniel Stenberg
77f34915ce
removed _REENTRANT define
2001-05-31 07:03:04 +00:00
Daniel Stenberg
c7dbde9f3f
Uses the Curl_SSLConnect() according to the new return type
2001-05-12 09:30:42 +00:00
Daniel Stenberg
89ba66e071
corrected the read-callback typecase since FILE * was replaced with void *
2001-05-07 12:38:28 +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
fd8ea204c0
use GMT for the conditional timed gets (reported by Phil Karn)
2001-04-17 07:28:49 +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
ac0bad2433
remake Host: for each connection and it'll work with proxies too
2001-03-09 16:48:18 +00:00
Daniel Stenberg
a23db7b7c7
"Transfer-Encoding: chunked" support added
2001-03-07 23:51:41 +00:00
Daniel Stenberg
c21f848c1c
enable persistant connections by default
2001-03-05 13:40:08 +00:00
Daniel Stenberg
90ac37a683
Curl_http() could crash on connection re-use
2001-03-04 15:25:54 +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
9c63fcf210
we only allocate the HTTP struct if we need to
2001-02-22 23:41:15 +00:00
Daniel Stenberg
584dbffe60
moved the dynamicly set pointers to the connectdata struct
2001-02-22 23:32:02 +00:00
Daniel Stenberg
46e0937263
corrected memory leaks when re-using connections
2001-02-20 17:46:35 +00:00
Daniel Stenberg
a1d6ad2610
multiple connection support initial commit
2001-02-20 17:35:51 +00:00
Daniel Stenberg
a140e5311d
moved the protocol-specific free to allow easier multiple transfers
2001-02-13 13:34:16 +00:00
Daniel Stenberg
abb14de7e0
GetLine() didn't properly act on -1 lengths returned from Curl_read()
2001-02-07 09:31:03 +00:00
Daniel Stenberg
c41c5a0ef2
curl_read() and Curl_read() now have ssize_t in the last argument
2001-01-31 13:54:12 +00:00
Daniel Stenberg
513bc44421
HTTP PUT resume now sends Content-Range: headers as I believe the RFC2616
...
describes, Bob Schader's research seems to agree.
2001-01-29 07:24:20 +00:00
Daniel Stenberg
3a8210c975
Resume is now done with a Content-Range header instead of a Range header if
...
the request isn't GET. Presumably, this is how it should be made.
2001-01-27 18:57:07 +00:00
Daniel Stenberg
3a3f632bf0
Made it possible to do "upload resume" over HTTP
2001-01-26 15:49:39 +00:00
Daniel Stenberg
f0b9aefd2e
Curl_read() and Curl_write() are now used for reading/writing sockets.
...
Some functions changed prototype due to this change as well.
2001-01-25 12:19:02 +00:00
Daniel Stenberg
ae0a6835bd
Transfer is now Curl_Tranfer() and transfer.h is used instead of highlevel.h
...
and download.h
2001-01-17 13:23:01 +00:00
Daniel Stenberg
6403257886
renamed Curl_ to curl_ for the printf() prefixes
2001-01-05 12:19:42 +00:00
Daniel Stenberg
4031104404
Internal symbols that aren't static are now prefixed with 'Curl_'
2001-01-05 10:11:41 +00:00
Daniel Stenberg
24dee483e9
dual-license fix
2001-01-03 09:29:33 +00:00
Daniel Stenberg
9a9013ac25
typecasted the argument to isspace() to int, to remove a pedantic compiler
...
warning
2000-11-21 09:31:03 +00:00
Daniel Stenberg
42280e95bf
removed URL size restrictions
2000-11-20 08:53:21 +00:00
Daniel Stenberg
868488b518
memory leak cleanup campaign
2000-11-17 14:03:58 +00:00
Daniel Stenberg
bfb118e42a
Added space after the Cookie: header keyword
2000-11-13 11:29:32 +00:00
Daniel Stenberg
c44b10de41
remote_port used in Host: headers only when non-default
2000-10-20 13:48:38 +00:00
Daniel Stenberg
85174ed358
memory leak adjusts
2000-10-11 10:29:25 +00:00
Daniel Stenberg
0f8facb49b
added memory debugging include file
2000-10-09 11:12:34 +00:00
Daniel Stenberg
5865860ad6
counts header and request size
2000-10-04 13:07:43 +00:00
Daniel Stenberg
d3f9b2a490
introduced the new add_buffer() concept that makes the HTTP request to get
...
sent in only one shot
2000-10-03 11:01:32 +00:00
Daniel Stenberg
13962adcb5
7.3 commit
2000-09-28 10:26:44 +00:00
Daniel Stenberg
6f6dfa97a8
Uses the new interface to ssend() and the base64 encoder
2000-09-21 08:48:48 +00:00
Daniel Stenberg
00eaf20298
bugfixed the proxytunnel
2000-09-15 12:55:38 +00:00
Daniel Stenberg
0da7057591
more "anything through http proxy tunnel" fixes
2000-09-15 06:10:52 +00:00
Daniel Stenberg
86ff2c46b7
introduced 'tunnel through http proxy' for ftp
2000-09-14 14:05:01 +00:00
Daniel Stenberg
b6e18f2f66
#include "setup.h" moved first of all includes
2000-08-24 14:26:33 +00:00
Daniel Stenberg
1b1f143cd6
hostname and large file support added
2000-08-24 12:33:16 +00:00
Daniel Stenberg
d4731b7050
Albert Chin-A-Young's fixes
2000-08-23 07:23:42 +00:00
Daniel Stenberg
349a3aaf5b
Made it possible to replace the Content-Type: and Content-Length: headers
...
curl issues when doing a regular HTTP post. This should not be taken light-
heartedly though. Replacing them might get you into trouble!
2000-08-11 06:39:53 +00:00
Daniel Stenberg
c3c7739811
big last-beta (?) cleanup commit
2000-07-31 22:42:34 +00:00
Daniel Stenberg
1cf13c825f
Replacing one of the internal headers with one that has no contents will now
...
completely disable that header to get sent.
2000-07-31 21:30:19 +00:00
Daniel Stenberg
9d5c6df788
added localtime_r()
2000-07-29 22:21:10 +00:00
Daniel Stenberg
f50fd062e9
corrected the Host: header's port number
2000-07-28 07:55:21 +00:00
Daniel Stenberg
29eda80f96
uses auth_host to only send user+password to that particular site, usable if
...
Location: following takes "us" to other servers that should not get the
user and password
2000-07-25 21:16:32 +00:00
Daniel Stenberg
e999182758
The Host: header now includes the port number if not default HTTP
2000-07-25 07:28:28 +00:00
Daniel Stenberg
1ef3600a07
haxx.nu => haxx.se
2000-06-20 15:31:26 +00:00
Daniel Stenberg
94ec5ff44a
correct the POST workings. Tim Tassonis reported.
2000-06-14 17:15:07 +00:00
Daniel Stenberg
ecb2b95b1c
struct HttpHeader changed to struct curl_slist
2000-06-05 08:23:50 +00:00
Daniel Stenberg
96dde76b99
moved here from the newlib branch
2000-05-22 14:12:12 +00:00
Daniel Stenberg
0aa3f705c2
removed an unnecessary #ifdef WIN32
2000-03-16 11:40:48 +00:00
Daniel Stenberg
2ad8ed7771
now sends cookies space separated to better work with IIS4.0 servers
2000-03-13 09:11:54 +00:00
Daniel Stenberg
5a99be2545
updated to use the new set of progress-functions
2000-02-14 22:57:42 +00:00
Daniel Stenberg
9ef5f5ef5a
This should no longer send empty cookies to the server
2000-02-10 23:15:33 +00:00
Daniel Stenberg
c758744e7e
removed #include "upload.h"
2000-02-01 23:56:28 +00:00
Daniel Stenberg
15755b3fd8
Adjusted to use the new Transfer() instead of the old Download()
2000-02-01 23:52:11 +00:00
Daniel Stenberg
63aefdb50b
changed a tiny comment
2000-01-16 18:52:24 +00:00
Daniel Stenberg
ae1912cb0d
Initial revision
1999-12-29 14:20:26 +00:00