1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-17 23:15:08 -05:00
Commit Graph

1628 Commits

Author SHA1 Message Date
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
c611ac958e new ares patch uploaded 2003-09-14 22:42:08 +00:00
Daniel Stenberg
071fc74c0e reverted the change that blanks LIBS 2003-09-14 21:24:20 +00:00
Daniel Stenberg
14597475b1 Jeff Pohlmeyer did some marvelous debugging to track this one down. We MUST
NOT free the existing hash entry when we try to add a new one that matches
an existing entry. We now instead free the new one, and make the parent
function use the old entry's struct instead.
2003-09-14 21:17:54 +00:00
Daniel Stenberg
de3281a3a8 blank the LIBS variable, as we don't need any libs when we link the lib. 2003-09-12 20:45:39 +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
0efcb57623 For easy handles within multi handles, we share the DNS cache always. 2003-09-11 22:14:29 +00:00
Daniel Stenberg
6fde147273 #ifdef 0'ed Curl_llist_insert_prev and Curl_llist_remove_next, as they are
not used by any code in libcurl!
2003-09-11 22:13:37 +00:00
Daniel Stenberg
cc497fd153 don't use a blank proxy 2003-09-11 22:05:23 +00:00
Daniel Stenberg
c1f31180a2 Curl_is_resolved(): FD_ZERO the file descriptors before we call ares_fds().
Problem tracked down by Bjorn Reese.
2003-09-11 21:27:19 +00:00
Daniel Stenberg
e8c762981a do not use 'long' to store 4 bytes, as 64bit architectures have 64bit longs. 2003-09-07 15:00:10 +00:00
Daniel Stenberg
adcbe03aeb Uses less macros. #ifdef'ed out unused functions. Edited slightly to be
more in the same style as other curl source code. The only actual code change
is an added check after a malloc() call.
2003-09-05 12:44:35 +00:00
Daniel Stenberg
df760a0a4b no user or password set, bail out 2003-09-04 13:31:49 +00:00
Daniel Stenberg
f2057eb744 ah, this change broke multiple test cases 2003-09-04 13:07:09 +00:00
Daniel Stenberg
2956fe97a0 Jörg 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
40e6b12cca added the missing share-functions, pointed out by Edward Chan 2003-09-04 10:04:15 +00:00
Daniel Stenberg
f2d422235b Early Ehlinger's CURLOPT_FTP_RESPONSE_TIMEOUT patch applied. 2003-09-03 22:02:40 +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
cafcc242e6 Joerg Mueller-Tolk's fix to better deal with user+passwords for proxies 2003-09-03 21:47:41 +00:00
Daniel Stenberg
2ad0a7d20f minor fix to make better bail-out check 2003-09-03 21:44:59 +00:00
Daniel Stenberg
481094db90 warn if no CN is available if verify is only set to 1 2003-09-03 20:47:17 +00:00
Daniel Stenberg
f7db3023a8 wrap at 80 cols 2003-09-02 07:48:58 +00:00
Daniel Stenberg
070cd2b52f Henrik Storner's update to make libcurl work with OpenLDAP 2.1.22 (current).
Also reported to work with OpenLDAP 2.0.26.
2003-09-01 08:23:31 +00:00
Daniel Stenberg
5629eeaec2 The error buffer was not getting filled when Curl_wait_for_resolv() fails.
Jeff Pohlmeyer fixed.
2003-09-01 08:21:08 +00:00
Daniel Stenberg
46c2bc4bb6 typecase to please the compiler gods 2003-08-29 08:43:21 +00:00
Daniel Stenberg
3938e0f58b typecast to prevent compiler warning 2003-08-29 08:43:06 +00:00
Daniel Stenberg
fa162e8feb CURLOPT_BUFFERSIZE must not be smaller than 0 (zero) as that is impossible
for us to deal with
2003-08-28 11:28:55 +00:00
Daniel Stenberg
8feb5110b5 only do chmod if there's a file present 2003-08-28 10:39:36 +00:00
Daniel Stenberg
32899f8309 added the strcasecmp() proto here (moved from setup.h), as this is the
only file within libcurl to use that function
2003-08-24 14:29:06 +00:00
Daniel Stenberg
dc7c6d1030 removed the strcasecmp() proto from here, and moved it to the strequal.c
file instead
2003-08-24 14:28:15 +00:00
Daniel Stenberg
4459d3b434 have cwd_and_mkd prefixed with ftp_ to make it appear as a ftp-only
function
2003-08-22 12:35:18 +00:00
Daniel Stenberg
7e7d89471a use proper type to prevent compiler warning 2003-08-22 12:25:47 +00:00
Daniel Stenberg
e67d15b50e Vincent Sanders provided a fix for name resolving when linked with uClibc. 2003-08-21 12:07:47 +00:00
Daniel Stenberg
5974309d10 CURLINFO_RESPONSE_CODE replaces CURLINFO_HTTP_CODE 2003-08-20 15:42:24 +00:00
Daniel Stenberg
d00e4a377b store the FTP response code in the httpcode variable 2003-08-20 15:41:45 +00:00
Daniel Stenberg
afc6ade2b9 removed the goto and re-indented slightly 2003-08-20 15:40:21 +00:00
Daniel Stenberg
734e8d6229 transfer fix for multi interface 2003-08-20 15:39:49 +00:00
Daniel Stenberg
61629d2c86 made curl_multi_info_read() set 'msgs_in_queue' to 0 even when it returns
NULL!
2003-08-20 13:49:46 +00:00
Daniel Stenberg
b1da98170f make sure the 'done' variable is always set to something in the
Curl_is_resolved() function
2003-08-19 23:23:45 +00:00
Daniel Stenberg
fb3eee5f0b Respect HAVE_LONGLONG to support 'long long' 2003-08-19 15:37:07 +00:00
Daniel Stenberg
a8c78cbbb0 CRYPTO_cleanup_all_ex_data() is not present in all OpenSSL versions so
we need to check for its presence in the configure script
2003-08-19 09:56:16 +00:00
Daniel Stenberg
33cf204e9a don't set done==TRUE if the host name doesn't resolve 2003-08-19 09:29:59 +00:00
Daniel Stenberg
dafc652f63 Loren Kirkby pointed out that we need to call CRYPTO_cleanup_all_ex_data()
when we cleanup the SSL stuff to not leak any memory.

I wish this was documented anywhere.
2003-08-19 07:51:09 +00:00
Daniel Stenberg
394faaeb97 setting WRITEFUNCTION or READFUNCTION to NULL will now reset the callback
pointers to the internal default functions
2003-08-17 13:32:37 +00:00
Daniel Stenberg
a10581d459 Possible code for large file support, added within #if 0 so far. 2003-08-14 22:42:18 +00:00
Daniel Stenberg
acbcd68d89 Curl_SSL_InitSessions can return error, so check the return code and bail
out if necessary
2003-08-14 15:06:36 +00:00
Daniel Stenberg
4281470fca Curl_llist_destroy() checks the input for non-NULL 2003-08-14 15:06:08 +00:00
Daniel Stenberg
68a4aa6773 new proto for Curl_hash_init 2003-08-14 15:05:25 +00:00
Daniel Stenberg
905b160097 1. check allocs
2. don't leave allocated memory behind when returning error
2003-08-14 15:05:13 +00:00
Daniel Stenberg
52596c339b return failure when the host cache creation fails 2003-08-14 15:02:25 +00:00
Daniel Stenberg
3454319c17 prevent memory leak when going out of memory 2003-08-14 14:20:03 +00:00
Daniel Stenberg
02c78ecf81 allow out-of-memory testing by setting a limit. That number of memory
allocation calls will succeed, the following will return NULL!
2003-08-14 14:19:36 +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
96fecba190 bindlocal works for Windows! 2003-08-11 23:15:13 +00:00
Daniel Stenberg
3eb4ae031c Set the CURL_VERSION_ASYNCHDNS bit if USE_ARES is defined. 2003-08-11 23:13:09 +00:00
Daniel Stenberg
c7be232fee added include "http.h" to prevent a warning 2003-08-11 14:55:30 +00:00
Daniel Stenberg
84ed5e755a use safefree instead 2003-08-11 12:30:21 +00:00
Daniel Stenberg
acfa131c8c memory leak fixed when re-using connections with proxy user+passwd 2003-08-11 12:25:30 +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
96e217b496 the new cookie functions that require 'data' passed in 2003-08-11 09:56:06 +00:00
Daniel Stenberg
2dd1518d63 support sending off cookies without contents 2003-08-11 09:55:48 +00:00
Daniel Stenberg
168703b7bf Added some infof() calls, that require the data pointer so now several
cookie functions need that.

I also fixed the cookie loader to properly load and deal with cookies without
contents (or rather with a blank content).
2003-08-11 09:55:11 +00:00
Daniel Stenberg
8dd069604c Dirk Manske's bugfix for the share stuff 2003-08-11 06:30:02 +00:00
Daniel Stenberg
5dadbd094e don't claim the PASV connect is connected unless it *really* is! 2003-08-10 17:11:41 +00:00
Daniel Stenberg
514a8739b6 make sure the string is long enough 2003-08-08 17:56:47 +00:00
Daniel Stenberg
9273096a8a David Byron's fix for file:// URLs with drive letters included. 2003-08-08 17:12:04 +00:00
Daniel Stenberg
686c6133f8 chmod the cabundle file before we attempt to write to it, to make
make distcheck run fine
2003-08-08 11:13:18 +00:00
Daniel Stenberg
7954eee639 re-arranged the cwd/mkd stuff a bit 2003-08-08 09:55:16 +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
6af73f417a use 644 for the chmod 2003-08-07 06:43:11 +00:00
Daniel Stenberg
32468a0072 argh, it wasn't *that* easy to generate the ca-bundle header in the build
dir instead of the source dir, reverting that change
2003-08-06 23:59:15 +00:00
Daniel Stenberg
bbe23945e4 fix the treatment of the variable width specifier '*', which caused a bug
in the urlglobbing just now, fixed in the debian bug tracker as Bug#203827
2003-08-06 22:32:47 +00:00
Daniel Stenberg
77ba0d3686 generate the ca-bundle.h in the build dir, and also make sure to chmod
the file in the dist-hook to make distcheck run fine
2003-08-06 22:14:16 +00:00
Daniel Stenberg
c704d1545c include "share.h" for the cookie sharing 2003-08-06 15:26:24 +00:00
Daniel Stenberg
62b65a5f20 make it build without ares support
make sure it set async false even when using ipv6 (made test case 20 fail
before)
2003-08-06 15:26:02 +00:00
Daniel Stenberg
256b9f31e1 more fix 2003-08-06 13:22:29 +00:00
Daniel Stenberg
a3037e1173 updated the ares instruction 2003-08-06 13:21:19 +00:00
Daniel Stenberg
f3e7a5d755 LDFLAGS fix to make the GSSAPI build again 2003-08-05 15:22:15 +00:00
Daniel Stenberg
5f0cba7775 added README.ares 2003-08-05 14:54:15 +00:00
Daniel Stenberg
673759fe7e how to build with ares 2003-08-05 14:52:31 +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
1e7e53c87e clean up the dir tree hierarchy in *_done() to make persistant connection
FTP use the correct directories!

Reported in bug report #783116
2003-08-05 13:04:10 +00:00
Daniel Stenberg
98ee12bc35 Jan Sundin reported a case where curl ignored a cookie that browsers don't,
which turned up to be due to the number of dots in the 'domain'. I've now
  made curl follow the the original netscape cookie spec less strict on that
  part.
2003-08-04 23:05:57 +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
f72ba7f79d Mark Fletcher provided an excellent bug report that identified a problem
with FOLLOWLOCATION and chunked transfer-encoding, as libcurl would not
 properly ignore the body contents of 3XX response that included the
 Location: header.
2003-08-03 22:18:14 +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
d3e512c738 Jörg Müller-Tolk updated this to build fine with 7.10.6 2003-07-30 14:19:44 +00:00
Daniel Stenberg
e3b4dd08ff Daniel Noguerol made the ftp code output "Accept-Ranges: bytes" in similar
style like other faked HTTP headers when NOBODY and HEADER are used.
2003-07-30 07:51:33 +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
48a580e609 clear http->send_buffer when we have freed the memory it pointed to 2003-07-28 10:21:57 +00:00
Daniel Stenberg
d9246ff24d François Pons brought a patch that once again made curl deal with ftp and
"double slash" as indicating the root directory. In the RFC1738-fix of April
30, that ability was removed (since it is not the "right" way).
2003-07-28 08:50:02 +00:00
Daniel Stenberg
428f41bd12 having it in CVS causes us problems *grrr* 2003-07-25 09:46:07 +00:00
Daniel Stenberg
99c32e460f Andrés García updated with the added files etc 2003-07-25 08:59:55 +00:00
Daniel Stenberg
83f249cf65 With an unknown CA path, we undef the variable. To build properly without
SSL/CA.
2003-07-25 08:47:34 +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
e9f63bf4e8 When we re-use an existing connection we must make sure that we don't
accidentally re-use the connect_addr field, as that might no longer be
around. Fix verified by Tracy Boehrer who basicly debugged and tracked down
this problem.
2003-07-23 17:06:21 +00:00
Daniel Stenberg
556ce1c6a1 minor code style fix 2003-07-23 12:55:24 +00:00
Daniel Stenberg
b47462bd68 Daniel Kouril's fix to make the GSS-Negotiate work fine. 2003-07-23 11:28:59 +00:00
Daniel Stenberg
1a94fee42d Juan F. Codagnone's fixes to build properly on Windows again 2003-07-23 08:21:21 +00:00
Daniel Stenberg
a91ce6a5d6 Plain default version of this file, to allow users to build easier from
CVS. This will be updated by the configure script, and a default is placed
here by the maketgz script.
2003-07-23 08:11:28 +00:00
Daniel Stenberg
981ffd9fce reversed the check for GSSAPI when request that auth 2003-07-22 11:15:46 +00:00
Daniel Stenberg
e76c960624 CURLDEBUG, not MALLOCDEBUG 2003-07-22 10:00:37 +00:00
Daniel Stenberg
416c92cc6f More support for NTLM on proxies, now proxy state and nonce is stored in
a separate struct properly.
2003-07-22 09:59:36 +00:00
Daniel Stenberg
fb731eb3e7 The NTLM functions now take a 'proxy' argument as well. 2003-07-22 09:58:57 +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
1a192c489b adjusted to support NTLM for proxies 2003-07-21 13:16:01 +00:00
Daniel Stenberg
56014e74a0 krb4-fixes for the moved user+password fields within the structs 2003-07-21 09:19:48 +00:00
Daniel Stenberg
5e133e2dff David Gardner pointed out in bug report 770755 that using the FTP command CWD
with a blank argument is a bad idea. Now skip blanks.
2003-07-20 00:18:11 +00:00
Daniel Stenberg
0049c09fc3 If NTLM is requested, only re-use connections that have the exact same
credentials.
2003-07-20 00:02:47 +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
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
79749f8eb4 Fix to the endless loop of bad Basic authentication as reported in Cris
Bailiff's bug report 768275.
2003-07-15 23:06:02 +00:00
Daniel Stenberg
b036986b3e Dan Winship's patch added that makes use of DOMAIN\USER or DOMAIN/USER
for the user field. I changed it slightly to stay with strchr() only instead
of strpbrk() for portability reasons.
2003-07-15 22:58:36 +00:00
Daniel Stenberg
938f1d1da7 Dan Winship's fix to make the new auth stuff such as NTLM to work with
the multi interface
2003-07-15 22:46:01 +00:00
Daniel Stenberg
f9c3347f7c re-use existing variable instead of declaring a new local one 2003-07-05 13:27:02 +00:00
Daniel Stenberg
5b72eb0b03 Some of Doug Kaufman's changes for the DOS port 2003-07-05 13:13:49 +00:00
Daniel Stenberg
ebfde8da56 removed 2003-07-04 18:15:53 +00:00
Daniel Stenberg
756bc0f4b7 Dan Grayson pointed out that we set the CURL_CA_BUNDLE variable wrongly in
the configure script. We set it differently now and generate the
lib/ca-bundle.h file entirely.
2003-07-04 18:15:25 +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
5931d53637 Gisle Vanem found a lib handle leak in the ldap code 2003-07-01 10:12:52 +00:00
Daniel Stenberg
6f02ddfce8 new httpauth support, changed filetime variable kind 2003-06-26 11:31:50 +00:00
Daniel Stenberg
c2faa39b62 added CURLOPT_HTTPAUTH support 2003-06-26 11:30:59 +00:00
Daniel Stenberg
2d3734b8b5 Adjusted to work properly with the new authentication stuff
Added code to deal with white spaces in relocation headers.
2003-06-26 11:30:26 +00:00
Daniel Stenberg
ed908b7f89 use CURLDEBUG instead of MALLOCDEBUG 2003-06-26 11:28:26 +00:00
Daniel Stenberg
f7d795a364 use CURLDEBUG 2003-06-26 11:27:38 +00:00
Daniel Stenberg
8919b39d54 adjusted to use the same API as the OpenSSL version of the MD5 functions 2003-06-26 11:27:22 +00:00
Daniel Stenberg
84cedc094e added ntlm flag bits 2003-06-26 11:26:50 +00:00
Daniel Stenberg
3b2b2496d7 Many fixes, most of them based on comments by Eric Glass 2003-06-26 11:26:26 +00:00
Daniel Stenberg
445684c409 new proto for Curl_input_negotiate 2003-06-26 11:25:42 +00:00
Daniel Stenberg
898e067ccc kill warnings 2003-06-26 11:25:23 +00:00
Daniel Stenberg
12859e345f major adjustments to the new authentication support 2003-06-26 11:24:55 +00:00
Daniel Stenberg
89f4af695e include GSS in the debug string if available, support a few new flag
booleans
2003-06-26 11:22:48 +00:00
Daniel Stenberg
308bc9d919 use CURLDEBUG instead of MALLOCDEBUG for preprocessor conditions 2003-06-26 11:22:12 +00:00
Daniel Stenberg
db566c54ae use CURLDEBUG instead of MALLOCDEBUG 2003-06-26 11:16:37 +00:00
Daniel Stenberg
81d403e207 one typecast less for the localtime(), use CURLDEBUG instead of MALLOCDEBUG 2003-06-26 06:52:48 +00:00
Daniel Stenberg
2bd71d70ff use CURLDEBUG instead of MALLOCDEBUG 2003-06-26 06:50:32 +00:00
Daniel Stenberg
1eef6f44ba CURLDEBUG instead of MALLOCDEBUG 2003-06-26 06:47:20 +00:00
Daniel Stenberg
204f03912f We noe use CURLDEBUG instead of MALLOCDEBUG 2003-06-26 06:45:15 +00:00
Daniel Stenberg
8288862b7e Cris Bailiff's patch that should make us do NTLM correctly. When we've
authenticated our connection, we can continue without any Authorization:
headers as long as our connection is maintained.
2003-06-13 10:15:55 +00:00
Daniel Stenberg
27018882ec Cris Bailiff's bugfix 2003-06-13 07:56:38 +00:00
Daniel Stenberg
caf6e9c540 use more curlish strings, these should be able to change... 2003-06-13 07:14:46 +00:00
Daniel Stenberg
e727fb82f2 Marty Kuhrt's #include fixes for VMS 2003-06-13 06:48:04 +00:00
Daniel Stenberg
d13202f43b modified 2003-06-12 23:03:08 +00:00
Daniel Stenberg
bc67228576 corrected a comment 2003-06-12 17:40:56 +00:00