Gisle Vanem
ecdcb0ef67
Some patches for (a stricter/smarter) gcc 4.0 and
...
warnings like:
'x' may be used uninitialized in this function.
2005-05-14 06:00:40 +00:00
Daniel Stenberg
3f23e8443e
oops, found by bug reported in bug report #1200661
2005-05-12 13:44:25 +00:00
Daniel Stenberg
5f538ce3f8
typecast to fix warning on 64bit systems
2005-05-12 08:51:30 +00:00
Daniel Stenberg
6b1220b61d
Cory Nelson's work on nuking compiler warnings when building on x64 with
...
VS2005.
2005-04-26 13:08:49 +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
8bd6d6a4de
added typecast when converting from long to unsigned short, to prevent compiler warning
2005-04-19 23:37:45 +00:00
Daniel Stenberg
63d109f7be
Olivier reported that even though he used CURLOPT_PORT, libcurl clearly still
...
used the default port. He was right. I fixed the problem and added the test
cases 521, 522 and 523 to verify the fix.
2005-04-18 19:41:04 +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
Gisle Vanem
0b45431139
hostthre.c: destroy_thread_data() made public. Called
...
from url.c: Curl_disconnect().
2005-04-04 12:30:03 +00:00
Dan Fandrich
efaf688650
Fixed ftp support with uClibc due to differing inet_ntoa_r() behaviour.
2005-03-15 21:00:46 +00:00
Daniel Stenberg
62970da675
Removed security.h since it shadows an include file mingw needs when building
...
for SSPI support. The contents of the file has been moved into the krb4.h file.
2005-03-14 00:00:45 +00:00
Dan Fandrich
fb9ae9d0e2
Fixed some compiler warnings.
2005-03-11 05:49:04 +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
0472629222
As reported by 'nodak sodak' we should check for a NULL pointer before
...
referencing the proxy name pointer.
2005-03-09 22:13:52 +00:00
Daniel Stenberg
89cac6f25c
prevent a compiler warning
2005-02-09 22:47:57 +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
Daniel Stenberg
e6034ea299
Use calloc() to save us the memset() call and terminate conn->host.name
...
properly, to avoid reading uninited variables when using file:// (valgrind)
2005-01-30 12:42:15 +00:00
Daniel Stenberg
c4ff5eb0ca
conn->ip_addr MUST NOT be used on re-used connections
2005-01-29 13:07:16 +00:00
Daniel Stenberg
4551e7ce49
KNOWN_BUGS #17 fixed. A DNS cache entry may not remain locked between two
...
curl_easy_perform() invokes. It was previously unlocked at disconnect, which
could mean that it remained locked between multiple transfers. The DNS cache
may not live as long as the connection cache does, as they are separate.
To deal with the lack of DNS (host address) data availability in re-used
connections, libcurl now keeps a copy of the IP adress as a string, to be able
to show it even on subsequent requests on the same connection.
2005-01-28 22:14:48 +00:00
Daniel Stenberg
177dbc7be0
Ian Ford asked about support for the FTP command ACCT, and I discovered it is
...
present in RFC959... so now (lib)curl supports it as well. --ftp-account and
CURLOPT_FTP_ACCOUNT set the account string. (The server may ask for an account
string after PASS have been sent away. The client responds with "ACCT [account
string]".) Added test case 228 and 229 to verify the functionality. Updated
the test FTP server to support ACCT somewhat.
2005-01-25 22:13:12 +00:00
Daniel Stenberg
7e42cb61f7
FTP third transfer support overhaul. See CHANGES for details.
2005-01-21 09:32:32 +00:00
Daniel Stenberg
a0c8b9bc68
Stephan Bergmann pointed out two flaws in libcurl built with HTTP disabled:
...
1) the proxy environment variables are still read and used to set HTTP proxy
2) you couldn't disable http proxy with CURLOPT_PROXY (since the option was
disabled)
2005-01-19 09:36:44 +00:00
Daniel Stenberg
e0bea7d541
Alex aka WindEagle pointed out that when doing "curl -v dictionary.com", curl
...
assumed this used the DICT protocol. While guessing protocols will remain
fuzzy, I've now made sure that the host names must start with "[protocol]."
for them to be a valid guessable name. I also removed "https" as a prefix that
indicates HTTPS, since we hardly ever see any host names using that.
2005-01-16 08:51:52 +00:00
Daniel Stenberg
e3fa7d021e
Renamed easy.h and multi.h to easyif.h and multiif.h to make sure they don't
...
shadow our public headers with the former names.
2005-01-11 15:25:29 +00:00
Daniel Stenberg
9d1145598a
Bruce Mitchener identified (bug report #1099640 ) the never-ending SOCKS5
...
problem with the version byte and the check for bad versions. Bruce has lots
of clues on this, and based on his suggestion I've now removed the check of
that byte since it seems to be able to contain 1 or 5.
2005-01-10 23:32:14 +00:00
Daniel Stenberg
21bb852750
Pavel Orehov reported memory problems with the multi interface in bug report
...
#1098843 . In short, a shared DNS cache was setup for a multi handle and when
the shared cache was deleted before the individual easy handles, the latter
cleanups caused read/writes to already freed memory.
2005-01-10 10:07:07 +00:00
Gisle Vanem
b1bdba7db5
Print true netrc name (.netrc/_netrc).
2004-12-17 12:26:18 +00:00
Dan Fandrich
26fe6da93b
Renamed a struct member to avoid conflict with a C++ reserved word.
2004-12-16 21:27:23 +00:00
Daniel Stenberg
0d0d5e7ee3
Harshal Pradhan fixed changing username/password on a persitent HTTP
...
connection.
2004-12-14 21:22:51 +00:00
Gisle Vanem
bdb0620529
Added handling of CURLINFO_SSL_ENGINES;
...
Added Curl_SSL_engines_list(), cleanup SSL in url.c
(no HAVE_OPENSSL_x etc.).
2004-12-13 16:43:00 +00:00
Daniel Stenberg
8a4eb8ed45
move the port number extraction to after the extraction of user name/password,
...
as suggested by Kai Sommerfeld
2004-12-10 15:11:11 +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
Gisle Vanem
d85bc18178
I changed my mind. Remove ioctl() macro in setup.h instead.
2004-11-26 16:08:15 +00:00
Gisle Vanem
af114358c8
Renamed urldata.h members 'ioctl*' to 'ioctrl*' due to
...
clash with djgpp ioctl() macro in setup.h.
2004-11-26 14:57:01 +00:00
Daniel Stenberg
bf51f05a50
FTP improvements:
...
If EPSV, EPRT or LPRT is tried and doesn't work, it will not be retried on
the same server again even if a following request is made using a persistent
connection.
If a second request is made to a server, requesting a file from the same
directory as the previous request operated on, libcurl will no longer make
that long series of CWD commands just to end up on the same spot. Note that
this is only for *exactly* the same dir. There is still room for improvements
to optimize the CWD-sending when the dirs are only slightly different.
Added test 210, 211 and 212 to verify these changes. Had to improve the
test script too and added a new primitive to the test file format.
2004-11-25 22:21:49 +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
dcea109bb5
Dan Fandrich fix: eliminates some pedantic CodeWarrior compiler warnings and
...
errors.
2004-11-18 14:04:40 +00:00
Daniel Stenberg
5931d43a36
clean up start time and t_startsingle use so that redirect_time works properly
2004-11-15 11:27:03 +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
24d47a6e07
Paul Nolan fix to make libcurl build nicely on Windows CE
2004-11-02 10:12:22 +00:00
Daniel Stenberg
e8f85cba0f
Eric Vergnaud pointed out that libcurl didn't treat ?-letters in the user name
...
and password fields properly in URLs, like
ftp://us?er:pass?word@site.com/. Added test 191 to verify the fix.
2004-10-14 13:44:54 +00:00
Daniel Stenberg
5322a86313
another lame attempt to avoid the "warning: will never be executed" warning
...
by gcc 3.4
2004-10-10 14:36:22 +00:00
Daniel Stenberg
c274e51654
use tld_strerror() only if previously detected, since otherwise we can't
...
work with libidn < 0.5.6
2004-10-07 07:41:44 +00:00
Gisle Vanem
071218a201
Fixed tld_check_name(). idna_to_unicode_lzlz() should never fail,
...
but return FALSE if 'uc_name == NULL' just in case.
2004-10-06 18:55:58 +00:00
Gisle Vanem
f0d6cc23ae
USE_LIBIDN: Added Top-level-domain (TLD) check for host->name.
...
Only print a warning if check fails.
2004-10-06 18:40:10 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
1a61bcecfc
minor edit to re-use a variable and to hopefully avoid a (moot) warning
...
about code that won't be reached
2004-10-05 11:03:59 +00:00
Daniel Stenberg
95def48071
Made the dns entry remain locked while a connection to the host remains to
...
allow verbose output during this period. Bertrand Demiddelaer reported and
helped fixing.
2004-10-04 10:36:51 +00:00
Daniel Stenberg
19b284c214
Gisle Vanem provided code that displays an error message when the (libidn
...
based) IDN conversion fails. This is really due to a missing suitable
function in the libidn API that I hope we can remove once libidn gets a
function like this.
2004-10-02 13:01:44 +00:00
Daniel Stenberg
1003628103
Only active the engine code if ssl is enabled. This is how the actual engine
...
member in the struct is used.
2004-09-28 07:11:32 +00:00
Daniel Stenberg
c189687188
allow setting CURLOPT_SSLENGINE to NULL even if no SSL engine is supported
2004-09-25 21:28:26 +00:00
Daniel Stenberg
6a06667cc0
Added CURLOPT_FTPSSLAUTH
2004-09-16 21:45:16 +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
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
d5bdf5f89c
Ok, setting CURLOPT_POST to 0 will now convert the request to a GET (this
...
remains undocumented as this is not the way we recommend)
2004-08-10 13:21:32 +00:00
Daniel Stenberg
0cfa9b52ae
prevent all the sig and alarm stuff when using ares
2004-07-29 08:06:33 +00:00
Daniel Stenberg
b9f1dd7691
Bertrand Demiddelaer fixed the host name to get setup properly even when
...
a connection is re-used, when a proxy is in use.
2004-07-28 21:27:33 +00:00
Gunter Knauf
03cb3b9db1
ifdef keep_sigact since its only used when SIGALRM is defined.
2004-07-10 23:11:22 +00:00
Daniel Stenberg
17841a20e3
explicit typecasts when converting from long to int to avoid warnings
2004-07-04 21:37:35 +00:00
Daniel Stenberg
d2e6a0583a
made 'connectindex' a long variable to prevent compiler warnings when
...
implicitly converting it to int
2004-07-04 21:36:14 +00:00
Daniel Stenberg
f05d47ddd6
variable type cleanup to fix picky compiler warnings
2004-07-01 07:43:20 +00:00
Daniel Stenberg
185baf036b
NOBODY set TRUE after a POST makes a good HEAD now
2004-06-30 11:09:16 +00:00
Daniel Stenberg
00ee738fdd
typecasts to prevent warnings
2004-06-24 09:14:59 +00:00
Daniel Stenberg
c39858aac0
Source cleanups. The major one being that we now _always_ use a Curl_addrinfo
...
linked list for name resolved data, even on hosts/systems with only IPv4
stacks as this simplifies a lot of code.
2004-06-24 07:43:48 +00:00
Daniel Stenberg
d73425061a
Moved the "About to connect() to" text to the place where the host name is
...
actually known, as before this text lied when used in i.e FTP.
2004-06-22 15:23:01 +00:00
Daniel Stenberg
bd3d5a17b4
Gisle's "SSL patch" from June 16th 2004, modified by me as discussed on the
...
mailing list.
2004-06-18 06:20:43 +00:00
Daniel Stenberg
9f341f9ce5
Gisle Vanem's improved verbose output and timeout handling when connecting to
...
a host name that resolves to multiple IP addresses.
2004-06-10 11:06:21 +00:00
Daniel Stenberg
90037b85d1
Alexander Krasnostavsky's fix to make libcurl build fine with configure
...
--disable-http, which thus builds a libcurl without HTTP support.
2004-06-09 08:23:55 +00:00
Daniel Stenberg
ea81dd9e2e
Alexander Krasnostavsky's FTP third party transfer (proxy) support
2004-06-03 11:41:05 +00:00
Daniel Stenberg
d3f796ac59
Made CURLOPT_UPLOAD and CURLOPT_PUT mean the same thing internally (the
...
previous difference was not clear nor documented properly). They can now both
be used interchangeably, but we prefer UPLOAD to PUT since it is a more
generic term.
2004-06-02 13:57:38 +00:00
Daniel Stenberg
aca79af7de
check for failing strdup()s
2004-05-28 09:56:59 +00:00
Daniel Stenberg
2c43d64302
Added a new 'bit' in the connect struct named 'tunnel_proxy' that is set
...
if a connection is tunneled through a proxy. A tunnel is done with CONNECT,
either when using HTTPS or FTPS, or if explicitly enabled by the app.
2004-05-26 08:54:36 +00:00
Daniel Stenberg
fd802db39f
initial support for "uploading" to file:// URLs
2004-05-25 21:47:29 +00:00
Daniel Stenberg
0912015a5c
preprocessor magic around the libidn idn_free() stuff to remain workable
...
both with older libidn versions without idn_free() and with libidn versions
that gets installed without idn-free.h
2004-05-25 12:00:15 +00:00
Daniel Stenberg
85b2056dc7
only idn_free() if built with libidn
2004-05-24 08:19:37 +00:00
Daniel Stenberg
24420c2191
Simon Josefsson added a idn_free() function in libidn 0.4.5 as a reaction to
...
Gisle's previous mail. We now use this function, and thus we require libidn
0.4.5 or later. No earler version will do.
2004-05-24 07:40:00 +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
cdd70596df
killed trailing whitespace
2004-05-19 09:25:00 +00:00
Daniel Stenberg
8001921112
I made Curl_done() take a pointer-pointer in the first argument instead, and
...
if the connection is killed it blanks the pointer it points to, to make it
easier to detect usage problems whereever Curl_done() is used.
2004-05-17 08:05:46 +00:00
Daniel Stenberg
b121e41ec3
bail out when no memory occurs
2004-05-13 14:12:49 +00:00
Daniel Stenberg
aa3ae01878
clean up and return better on out of memory
2004-05-12 13:05:01 +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
d301d69fbf
bail out if we can't allocate the new range string, and make use of aprintf()
...
instead of using snprintf() + strdup().
2004-05-12 08:26:56 +00:00
Daniel Stenberg
2f60e91a9b
removed another jhrg-reference in a comment
2004-05-12 07:56:01 +00:00
Daniel Stenberg
98f968f2ee
fixed Curl_open() to not leak anything if one malloc() fails, fix by
...
James Bursa only modified by me.
2004-05-11 21:17:03 +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
3394c01826
We don't support any long protocol names so we can use a smaller buffer.
...
Also, make sure we have room for the trailing zero, only scan to size-1.
Gisle Vanem reported.
2004-05-07 18:46:28 +00:00
Daniel Stenberg
91c8be3628
removed two odd comments
2004-05-06 15:17:10 +00:00
Daniel Stenberg
7591e07b7c
do the alarm time-left math using unsigned longs since that is what alarm()
...
returns and uses as input and converting to signed generates warnings and
actually risks loss of accuracy
2004-05-05 07:17:37 +00:00
Daniel Stenberg
35ab93f484
fix_hostname() now (void)s the conn argument to prevent warnings on non-idn
...
enabled builds
2004-05-05 07:08:31 +00:00
Daniel Stenberg
4d9517f0b4
prevent warnings when using the gcc option -Wunreachable-code
2004-05-05 06:57:26 +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
8ca37dd1c7
encode the correct name
2004-04-29 11:57:52 +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
e218811ca3
made the verbose connect use the proper host name string even when using
...
a proxy
2004-04-26 15:19:55 +00:00
Daniel Stenberg
a9f2274bd8
NI_MAXHOST is not generally available, we use plain 256 bytes for the hostname
...
instead, its only for debug verbose output anyway
2004-04-26 15:14:19 +00:00
Daniel Stenberg
245e3122df
Made defines instead of plain numbers for the Curl_resolv() return code to
...
make the code easier to read
2004-04-26 14:18:00 +00:00
Daniel Stenberg
f5042cce34
IDN adjustments and host cleanups by Gisle
2004-04-26 14:03:25 +00:00
Daniel Stenberg
648e82f05d
Major hostip.c cleanup and split into multiple files and easier #ifdef
...
usage.
2004-04-26 07:20:11 +00:00
Daniel Stenberg
9ba010c629
typecast tolower/toupper arguments to int to make picky compilers complain
...
less
2004-04-21 11:15:02 +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
b48bf7470d
proper typecast to prevent compiler warning
2004-04-13 10:42:32 +00:00
Daniel Stenberg
ee7d1d0701
remove an long time #defined struct member and use the actual "real" name
...
instead to make it easier to find/read
2004-04-13 07:37:28 +00:00
Daniel Stenberg
4e3aa250c4
Moved the 'tcp_nodelay' member to the proper 'UserDefined' struct within the
...
sessionhandle to make the duphandle() function work as supposed. Also tried
to start document functions the doxygen way (in the headers of the functions).
Can't make it work though...
2004-04-13 07:16:26 +00:00
Daniel Stenberg
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
5804c995e1
Use the new HAVE_NI_WITHSCOPEID define instead of merely checking for the
...
existance of NI_WITHSCOPEID since some platforms have that define but still
can't function with it set.
2004-03-31 21:33:52 +00:00
Daniel Stenberg
dd2add82ee
Fixed how the user name is extracted from http_proxy environment variable
...
when set.
2004-03-31 10:46:06 +00:00
Daniel Stenberg
bb3d6e8552
tcp-nodelay patch by Joe Halpin
2004-03-25 13:37:18 +00:00
Daniel Stenberg
1ebda8fa0e
Added CURLOPT_POSTFIELDSIZE_LARGE to offer a large file version of the
...
CURLOPT_POSTFIELDSIZE option to allow really big HTTP POSTs.
2004-03-12 08:55:47 +00:00
Daniel Stenberg
e545e33d5f
Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of -1 for sockets.
2004-03-11 13:13:35 +00:00
Daniel Stenberg
7225b14002
curl_socket_t mistakes cleanup
2004-03-10 16:01:47 +00:00
Daniel Stenberg
59a30e6d9b
prevent harmless compiler warning
2004-03-04 12:57:12 +00:00
Daniel Stenberg
7c85be9435
corrected the reuse_fresh condition
2004-03-02 14:00:44 +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
7d2e872828
Only consider the fresh-connection option on the first connection made, not
...
on followed redirections etc. This should fix the bug #905365 , which caused
NTLM to fail with the option set.
2004-03-01 09:43:42 +00:00
Daniel Stenberg
82bd583251
in Curl_disonnect(): call the protocol-specific disconnect function before we
...
unlink the "current" connection struct from the connection cache.
2004-03-01 07:19:26 +00:00
Daniel Stenberg
0ffec4272a
the missing part of Gisle Vanem's connect-timeout fix for win32
2004-02-22 22:31:24 +00:00
Daniel Stenberg
ccdaa0b51f
Make the 'areschannel' get created in the curl_easy_init() and re-use that
...
same channel during the whole curl handle's life until curl_easy_cleanup().
2004-02-16 15:24:22 +00:00
Daniel Stenberg
39926181ea
Fix verbosconnect() when ipv6-enabled to not assume that conn->serv_addr
...
is a valid pointer, but instead always depend on the passed-in dns pointer.
This happens to be NULL when the connection is re-used...
2004-02-16 13:14:55 +00:00
Daniel Stenberg
e4916145ef
Jeff Lawson pointed out that we need to check for a '5' in the version field
...
to properly work with SOCKS5 proxies. I also included some ascii art describing
the SOCKS5 response, as RFC1928 describes. Jeff provided details in bug
report #741841 and here: http://curl.haxx.se/mail/lib-2004-02/0181.html
2004-02-16 07:33:30 +00:00
Daniel Stenberg
7abf2f44ec
in the socks code, make sure we receive Curl_read results in ints and
...
Curl_write in CURLcode, to keep the picky compilers happy
2004-02-13 12:42:37 +00:00
Daniel Stenberg
d57eed6f22
No longer receive the return code in ConnectionKillOne() that wasn't dealt
...
with anyway and thus caused picky compiler to warn.
2004-02-12 09:48:27 +00:00
Daniel Stenberg
50efb8f33e
#if-check for SIGALRM before assuming it is present
2004-02-11 21:11:08 +00:00
Daniel Stenberg
f71139750d
options we get as longs need to be typecasted when assigned to prevent
...
picky compiler warnings
2004-02-05 09:38:56 +00:00
Daniel Stenberg
580a2fe72b
when including ca-bundle.h, don't look in the current dir first, simply use
...
the search path since we want the build-version rather than the one in the
source dir
2004-02-02 10:13:54 +00:00
Daniel Stenberg
2465ff991f
when saving in a cookie jar fails, include the file name in the error message
...
to make it easier to track down
2004-01-26 16:16:44 +00:00
Daniel Stenberg
334c3df09d
Proxy username and password on persistant connections could easily get
...
messed up. Vincent Bronner detected this.
2004-01-23 08:36:03 +00:00
Daniel Stenberg
4120b7b0c0
check the arguments to the socks5 function, as the name and password might
...
be NULL pointers, and if non-NULL if now support zero-length names/passwords
2004-01-23 08:29:56 +00:00
Daniel Stenberg
b791e158f0
use curl_off_t instead of off_t!
2004-01-22 12:45:50 +00:00
Daniel Stenberg
e5cd0cc402
use the proper type for formposts, not the deprecated one
2004-01-22 11:54:00 +00:00
Daniel Stenberg
c8ac7a0d95
Dominick Meglio pointed out FTPS should use default port 990 according to
...
IANA.
2004-01-11 22:56:36 +00:00
Daniel Stenberg
053f6c85ef
updated year in the copyright string
2004-01-07 09:19:33 +00:00
Daniel Stenberg
b60e0fa97e
David J Meyer's large file support.
2004-01-05 22:29:29 +00:00
Daniel Stenberg
84b3c3b569
Make setopt() support CURLOPT_IPRESOLVE...
2003-12-19 08:10:09 +00:00
Daniel Stenberg
8146d46386
Gisle Vanem's minor fixes
2003-12-19 08:03:15 +00:00
Daniel Stenberg
3788f25eac
added a library-wide interface for doing dns cache pruning, and no longer
...
make the pruning at each name lookup, only in Curl_done().
2003-12-15 17:33:49 +00:00
Daniel Stenberg
50e7545118
Giuseppe Attardi fixed a really tricky bug
2003-12-15 14:48:37 +00:00
Daniel Stenberg
800052dc50
use the HAVE_KRB4 define instead of just KRB4
2003-12-02 13:27:29 +00:00
Daniel Stenberg
d1d417664e
Gisle Vanem fixed the check-order for FTPS and FTP.
2003-12-02 06:25:41 +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
af9dc9f128
Gaz Iqbal fixed a range string memory leak!
2003-11-24 07:10:02 +00:00
Daniel Stenberg
7bee4140e8
respect bits.close even if an error already is set, but make sure that the
...
existing error is the one returned back
2003-11-19 14:35:40 +00:00
Daniel Stenberg
ad77f760cf
Added CURLOPT_NETRC_FILE.
2003-11-11 14:30:43 +00:00
Daniel Stenberg
e9c835ad06
David Hull made the file: URL parser also accept the somewhat sloppy file
...
syntax: file:/path. I added test case 203 to verify this.
2003-10-29 09:53:21 +00:00
Daniel Stenberg
1cdc66d927
overlapping memory chunks with strcpy(), detected by the friendly valgrind
2003-10-28 09:17:15 +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
65dab79ca5
gcc -Wshadow complaints fixed
2003-10-18 20:14:33 +00:00
Daniel Stenberg
ce5db9a86e
Dominick Meglio implemented CURLOPT_MAXFILESIZE and --max-filesize.
2003-10-17 13:11:00 +00:00
Daniel Stenberg
679654bd47
o the name and password arrays are 256 bytes, so let's accept that lengthy
...
input
o have ->passwd and ->name be NULL if no name/passwd was given
o only set default user+password for FTP if no userpwd was given
2003-10-17 09:28:00 +00:00
Daniel Stenberg
22adcb9cd1
password promting support removed from libcurl
2003-10-16 14:08:59 +00:00
Daniel Stenberg
749f5387c1
Gisle Vanem's IPv6-on-Windows patch applied!
2003-10-14 12:00:45 +00:00
Daniel Stenberg
d1a3c9944e
Lachlan O'Dea fixed a resume problem: "If I set CURLOPT_RESUME_FROM, perform
...
an HTTP download, then reset CURLOPT_RESUME_FROM to 0, the next download still
has a Range header with a garbage value." bug report #820502
2003-10-09 20:04:47 +00:00
Daniel Stenberg
09ccfcdcd4
Markus Moeller's SPNEGO patch applied, with my edits, additions and minor
...
cleanups.
2003-09-19 12:56:22 +00:00
Daniel Stenberg
951e2a6545
If a connection is closed down and it had some kind of NTLM involved, we
...
reset the authentication state to make it restart on the next connection.
This of course because NTLM is connection-oriented, whilst all other
authentication schemes are not.
2003-09-15 22:33:18 +00:00
Daniel Stenberg
f2d422235b
Early Ehlinger's CURLOPT_FTP_RESPONSE_TIMEOUT patch applied.
2003-09-03 22:02:40 +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
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
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
3454319c17
prevent memory leak when going out of memory
2003-08-14 14:20:03 +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
f9f1f0e316
Early Ehlinger's CURLOPT_FTP_CREATE_MISSING_DIRS patch was applied
2003-08-08 09:13:19 +00:00
Daniel Stenberg
b73612392d
ares awareness/usage/support added. If configure --enable-ares is used, we
...
build libcurl to use ares for asynch name resolves.
2003-08-05 14:40:59 +00:00
Daniel Stenberg
41ae97e710
Dirk Manske's patch that introduces cookie support to the share interface.
2003-08-04 15:02:42 +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
981ffd9fce
reversed the check for GSSAPI when request that auth
2003-07-22 11:15:46 +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
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
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
c2faa39b62
added CURLOPT_HTTPAUTH support
2003-06-26 11:30:59 +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
d0cc92a01a
Set auth type differently, we use one CURLOPT_HTTPAUTH instead as we plan
...
to add more method in the future.
2003-06-10 12:49:16 +00:00
Daniel Stenberg
e56ae1426c
Daniel Kouril's patch that adds HTTP negotiation support to libcurl was
...
added.
2003-06-10 12:22:19 +00:00
Daniel Stenberg
6b84ebe501
include digest.h for proto
2003-05-23 06:44:24 +00:00
Daniel Stenberg
9f69deec7d
Added CURLOPT_HTTPDIGEST support
...
SOCKS5 fix as suggested by Jis in bugreport #741841 .
2003-05-22 22:38:46 +00:00
Daniel Stenberg
d5043133e6
Gisle Vanem made curl build with djgpp on DOS.
2003-05-21 08:08:48 +00:00
Daniel Stenberg
c0197f19cf
Dan Fandrich changed CURLOPT_ENCODING to select all supported encodings if
...
set to "". This frees the application from having to know which encodings
the library supports.
2003-05-12 12:45:14 +00:00
Daniel Stenberg
94a157d0b0
support for CURLOPT_FTP_USE_EPRT added
2003-05-09 07:39:29 +00:00
Daniel Stenberg
bc77bf217f
if there's a cookiehost allocated, free that too
2003-04-30 19:58:36 +00:00
Daniel Stenberg
22d88fb28e
ah, move the zero byte too or havoc will occur
2003-04-11 16:23:06 +00:00
Daniel Stenberg
5760f2a307
support ? as separator instead of / even if not protocol was given
2003-04-11 16:08:41 +00:00
Daniel Stenberg
e0d8615ece
show a verbose warning message in case cookie-saving fails, after
...
Ralph Mitchell's notification.
2003-04-11 07:39:16 +00:00
Daniel Stenberg
89cfa76291
Vlad Krupin's URL parsing patch to fix the URL parsing when the URL has no
...
slash after the host name, but still a ? and following "parameters".
2003-04-10 09:44:39 +00:00
Daniel Stenberg
df00ec3c82
move the ssl config clone call to before the connectionexists call and then
...
also subsequently free the ssl struct if the connection struct is to be
deleted
2003-03-31 21:43:05 +00:00
Daniel Stenberg
9558f229db
Fixup after talks with Richard Bramante. We should now make better
...
comparisons before re-using SSL connections and re-using SSL connection IDs.
2003-03-31 05:13:26 +00:00
Daniel Stenberg
25f611ca42
Guillaume Cottenceau's patch that adds CURLOPT_UNRESTRICTED_AUTH that
...
disables the host name check in the FOLLOWLOCATION code. With that option
set, libcurl will send user+password to all hosts.
2003-03-31 04:41:05 +00:00
Daniel Stenberg
4b3f800c03
Frankie Fong filed bug report #708708 which identified a problem with
...
ConnectionExists() when first doing a proxy connecto to a HTTPS site and then
switching over to a HTTP connection to the same host.
This fix corrects the problem.
2003-03-31 03:42:01 +00:00
Daniel Stenberg
803f43592a
white space and indent fix
2003-03-25 14:23:12 +00:00
Daniel Stenberg
89721ff04a
Richard Bramante's provided a fix for a handle re-use problem seen when you
...
change options on an SSL-enabled connection between requests.
2003-03-24 23:10:38 +00:00
Daniel Stenberg
56dd2da962
Hopefully this change addresses these two bug reports: 707003 and 706624.
...
We need to make sure that when we init a 'connectdata' struct and then
afterwards check for and re-use another one, we must be careful so that the
newly set values are transmitted and used in the surviving connectdata struct.
2003-03-21 08:09:48 +00:00
Daniel Stenberg
853e240e1d
Use ssize_t instead of 'int' to make the 64 bit sparc compiler happier.
...
Fix by Richard Gorton.
2003-03-11 18:58:21 +00:00
Daniel Stenberg
29583004ce
include the engine stuff
2003-02-28 15:50:05 +00:00
Daniel Stenberg
30639ed72b
Kjetil Jacobsen found out that setting CURLOPT_MAXCONNECTS to a value higher
...
than 5 could cause a segfault.
2003-02-24 14:50:20 +00:00
Jean-Philippe Barette-LaPierre
beb13a1d3e
added the sharing of DNS cache
2003-02-04 23:48:46 +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
5a83976c99
Markus F.X.J. Oberhumer's patch that reduces memory usage quite a bit by
...
only allocating the scratch memory buffer once it is needed and not always
in the handle.
2003-01-20 12:52:34 +00:00
Daniel Stenberg
b5276a9a69
given passwords in netrc must be respected accordingly
2003-01-20 12:00:46 +00:00
Daniel Stenberg
f26a338a54
copyright year update in the source header
2003-01-16 21:08:12 +00:00
Daniel Stenberg
77c388c928
removed a TAB
2003-01-15 11:43:03 +00:00
Daniel Stenberg
3773d76dfd
Steve Oliphant pointed out that test case 105 did not work anymore and this
...
was due to a missing fix for the password prompting
2003-01-10 16:19:32 +00:00
Daniel Stenberg
9a2de6e6ee
if userpwd is "username:", this now implies a blank password while only
...
"username" will cause libcurl to prompt for password. Bryan Kemp noticed.
test case 136 is added for this
2003-01-09 16:47:09 +00:00
Daniel Stenberg
9a239edb52
updated to use the modified share-types
2003-01-08 15:50:52 +00:00
Daniel Stenberg
ec24efda74
Simon Liu's HTTP200ALIASES-patch!
2003-01-07 16:15:53 +00:00
Daniel Stenberg
b528bde470
conn->bits.tcpconnect now keeps track of if this connection is connected
...
or not
2002-12-13 16:15:19 +00:00
Daniel Stenberg
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
ce011b8a2d
bug fix for the problem Juan Ignacio Hervs discovered today
2002-11-22 16:59:40 +00:00
Daniel Stenberg
8bca5e05b8
Kjetil Jacobsen's patch that introduces CURLOPT_PRIVATE and CURLINFO_PRIVATE
...
for storage and retrieval of private data in the curl handle.
2002-11-20 19:11:22 +00:00
Daniel Stenberg
42acb00c81
moved the bools in the connectdata struct into the substruct named
...
ConnectBits where the other bools already are
2002-11-11 23:03:03 +00:00
Daniel Stenberg
ca6e770837
The test for DNS cache entries left locked is now only built if
...
AGGRESIVE_TEST is also defined, as an addition to MALLOCDEBUG. It doesn't
work for multi interface usage and should only be used with careful
consideration.
2002-11-11 22:51:09 +00:00
Daniel Stenberg
66eb98bb0a
unlock dns cache entries with a function call instead of a variable fiddle
2002-11-11 22:36:00 +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
ef749fa9ce
Bug report #634625 identified how curl returned timeout immediately when
...
CURLOPT_CONNECTTIMEOUT was used and provided a fix.
2002-11-07 08:45:10 +00:00
Daniel Stenberg
0ff1ca30c3
ipv4-fixes for the new Curl_dns_entry struct and Curl_resolv() proto
2002-11-05 11:07:49 +00:00
Daniel Stenberg
2cff251863
Curl_resolv() now returns a different struct, and it contains a reference
...
counter so that the caller needs to decrease that counter when done with
the returned data.
If compiled with MALLOCDEBUG I've added some extra checking that the counter
is decreased before a handle is closed etc.
2002-11-05 10:51:41 +00:00
Daniel Stenberg
01387f42c5
kromJx@crosswinds.net's fix that now uses checkprefix() instead of
...
strnequal() when the third argument was strlen(first argument) anyway.
This makes it less prone to errors. (Slightly edited by me)
2002-10-28 21:52:00 +00:00
Daniel Stenberg
b8a6913e09
prevent compiler warnings
2002-10-28 19:20:59 +00:00
Daniel Stenberg
156aad198f
Make the COOKIESESSION work better by creating a list of cookie files files
...
when given in the curl_easy_setopt() and then parse them all on the first
curl_easy_perform() call instead.
2002-10-17 07:10:39 +00:00
Daniel Stenberg
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
0ff89b9c3c
Allow a "" proxy explicitly set dont-use-proxy, i.e don't even check the
...
environment variables or anything. Setting it to NULL disables proxy as well,
but allows the environment variables to kick in and be used.
2002-09-27 09:49:40 +00:00
Daniel Stenberg
ec9acbcda7
Andrs Garca found out that Curl_protocol_connect() could return an
...
uninitialized variable.
2002-09-25 11:27:06 +00:00
Daniel Stenberg
c0460660d5
Wez Furlong's curl_version_info() function added, still needs some
...
adjustments and possibly some improvments to feature all those things we
could possibly want from this.
2002-09-25 07:08:41 +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
efca2943a0
minor indent change
2002-09-09 11:23:34 +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
0e0caf7c06
CURLE_SSL_INSECURE is removed again and so is CURLOPT_SSL_INSECURE, we
...
proceed fine with the already existing options, just having a different
internal library default for capath.
2002-08-30 11:09:49 +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
27a2e590cd
SSL_INSECURE support and usage added
2002-08-26 23:13:25 +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
6dfe0ec31e
Sterling Hughes brings the share interface
2002-08-13 14:20:47 +00:00
Daniel Stenberg
cb895ec335
Initial fix to make the multi interface return control while waiting for
...
the initial connect to "come through".
This should work fine for connect and for FTP-PASV connects. Needs massive
testing.
2002-08-12 09:43:20 +00:00
Daniel Stenberg
4cf953678d
Markus F.X.J. Oberhumer's CURLOPT_NOSIGNAL patch
2002-08-08 22:52:50 +00:00
Daniel Stenberg
215c445583
re-added the RFC2732-parser that was lost for some reason during the flow
...
of time!
2002-08-05 16:50:55 +00:00
Daniel Stenberg
264a9bc6ed
Removed checks for if set.fpasswd is NULL, as we prevent users from setting
...
it to NULL and then use the internal default instead. It will always be
a function to call.
2002-07-29 22:45:50 +00:00
Daniel Stenberg
e54e0c7877
CURLOPT_BUFFERSIZE allows an application to set a prefered buffer size
...
for receiving data from the network. It is meant as a hint, not as a forced
limit.
2002-06-15 21:00:54 +00:00
Daniel Stenberg
2b34d4e1f7
- Yarram Sunil found out that the SocketIsDead() function performed a lot
...
faster on Windows when removing the 1 microsecond timeout.
2002-06-14 12:05:20 +00:00
Daniel Stenberg
38c994a7ae
put #ifdefs around the sigjmp_buf declaration too, as it should be
2002-06-11 15:47:01 +00:00
Daniel Stenberg
85e2e96fb6
corrected the signal handler
2002-06-11 15:44:27 +00:00
Daniel Stenberg
3c49b405de
Now uses sigsetjmp() and siglongjmp() to bail out from slow name lookups in
...
case a timeout is set. This seems to work. God knows if it is good enough
or what kind of side-effects we introduce here and now.
I'll close my eyes and cross my fingers. Hard.
2002-06-11 15:10:18 +00:00
Daniel Stenberg
e9f1c12f0f
removed accidentally added debug-code!
2002-06-11 14:10:32 +00:00