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