Daniel Stenberg
ed8cb57151
Sonia Subramanian brought our attention to a problem that happens if you set
...
the CURLOPT_RESUME_FROM or CURLOPT_RANGE options and an existing connection
in the connection cache is closed to make room for the new one when you call
curl_easy_perform(). It would then wrongly free range-related data in the
connection close funtion.
2007-04-25 20:20:15 +00:00
Daniel Stenberg
bc1ae973da
Robert Iakobashvili made the 'master_buffer' get allocated first once it is
...
can/will be used as it then makes the common cases save 16KB of data for each
easy handle that isn't used for pipelining.
2007-04-24 10:18:06 +00:00
Daniel Stenberg
5daa6b9367
Ravi Pratap provided fixes for HTTP pipelining
2007-04-10 20:46:40 +00:00
Yang Tse
0e05a6329a
fix out of memory handling issue
2007-04-08 22:49:38 +00:00
Dan Fandrich
c321b9f704
Fixes some more out of memory handling bugs.
2007-04-04 23:41:35 +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
bcf0af9ddb
recover code simplification lost with last commit
2007-04-03 13:26:05 +00:00
Yang Tse
a1e5c621c0
fix compiler warning
2007-03-29 12:29:32 +00:00
Yang Tse
bfa0f8c6c2
fix compiler warning
2007-03-28 19:05:43 +00:00
Gisle Vanem
8a0a7ce3a8
Fix compiler warning.
2007-03-28 04:44:14 +00:00
Gisle Vanem
25c064c888
Simplified code around 'tld_errmsg' a bit.
2007-03-28 04:23:33 +00:00
Yang Tse
fba4cd0e62
Internal function Curl_select() renamed to Curl_socket_ready()
2007-03-26 23:23:46 +00:00
Yang Tse
fa0780bb91
fix compiler warning
2007-03-25 03:20:17 +00:00
Yang Tse
d6eca89229
fix compiler warning
2007-03-25 01:59:52 +00:00
Dan Fandrich
2bd1d7e996
Fixed a couple of compile problems.
2007-03-24 17:23:01 +00:00
Dan Fandrich
0dd1219668
Fixed a memory leak when specifying a proxy with a file: URL and added
...
test case 288 to verify it.
2007-03-24 02:15:20 +00:00
Daniel Stenberg
f9a339a225
fix debug message
2007-03-23 22:24:33 +00:00
Daniel Stenberg
20b9ab49a7
can just as well NULLify the pointer in a single spot
2007-03-11 22:48:58 +00:00
Daniel Stenberg
09c70dec08
Eygene Ryabinkin fixed a use-after-free issue with HTTP transfers with the
...
multi interface
2007-03-10 22:51:20 +00:00
Dan Fandrich
85daec253c
Honour --ftp-ssl-control on ftps:// URLs to allow encrypted control and
...
unencrypted data connections.
2007-03-07 22:42:05 +00:00
Daniel Stenberg
060f7ca2d2
- Hang Kin Lau found and fixed: When I use libcurl to connect to an https
...
server through a proxy and have the remote https server port set using the
CURLOPT_PORT option, protocol gets reset to http from https after the first
request.
User defined URL was modified internally by libcurl and subsequent reuse of
the easy handle may lead to connection using a different protocol (if not
originally http).
I found that libcurl hardcoded the protocol to "http" when it tries to
regenerate the URL if CURLOPT_PORT is set. I tried to fix the problem as
follows and it's working fine so far
2007-02-27 22:12:15 +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
Yang Tse
4937281ddc
compiler warning fix
2007-02-22 07:39:45 +00:00
Daniel Stenberg
f19d333ef6
- Ravi Pratap provided work on libcurl making pipelining more robust and
...
fixing some bugs:
o Don't mix GET and POST requests in a pipeline
o Fix the order in which requests are dispatched from the pipeline
o Fixed several curl bugs with pipelining when the server is returning
chunked encoding:
* Added states to chunked parsing for final CRLF
* Rewind buffer after parsing chunk with data remaining
* Moved chunked header initializing to a spot just before receiving
headers
2007-02-21 21:59:40 +00:00
Yang Tse
48029d7e74
fix compiler warning "enumerated type mixed with another type"
2007-02-21 05:48:07 +00:00
Linus Nielsen Feltzing
2f5e99ca02
New FTP CCC functionality - adds passive and active mode to accomodate for different server behaviour
2007-02-20 22:02:11 +00:00
Daniel Stenberg
1045b8d382
- Shmulik Regev found a memory leak in re-used HTTPS connections, at least
...
when the multi interface was used.
2007-02-19 12:20:32 +00:00
Daniel Stenberg
17e8d60c01
- Robson Braga Araujo made passive FTP transfers work with SOCKS (both 4 and
...
5).
2007-02-19 11:53:54 +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
28b932fb4e
- Shmulik Regev fixed so that the final CRLF of HTTP response headers are sent
...
to the debug callback.
- Shmulik Regev added CURLOPT_HTTP_CONTENT_DECODING and
CURLOPT_HTTP_TRANSFER_DECODING that if set to zero will disable libcurl's
internal decoding of content or transfer encoded content. This may be
preferable in cases where you use libcurl for proxy purposes or similar. The
command line tool got a --raw option to disable both at once.
2007-02-12 21:13:47 +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
138b4f27b4
- Manfred Schwarb reported that socks5 support was broken and help us pinpoint
...
the problem. The code now tries harder to use httproxy and proxy where
apppropriate, as not all proxies are HTTP...
2007-02-03 09:33:54 +00:00
Yang Tse
54db98c220
compiler warning fix
2007-02-01 01:42:13 +00:00
Yang Tse
49c4d9c9cd
add debug messages for initialization failures
2007-01-31 19:47:49 +00:00
Daniel Stenberg
1f4c8c4f09
Andreas Rieke added extra infof() for when a connection is not re-used due to
...
SSL conditions not being the same
2007-01-28 22:45:22 +00:00
Dan Fandrich
44ac2776ae
Fixed a dangling pointer problem that prevented the http_proxy environment
...
variable from being properly used in many cases (and caused test case 63
to fail).
2007-01-25 01:35:43 +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
4750e6f3c5
- Linus Nielsen Feltzing introduced the --ftp-ssl-ccc command line option to
...
curl that uses the new CURLOPT_FTP_SSL_CCC option in libcurl. If enabled, it
will make libcurl shutdown SSL/TLS after the authentication is done on a
FTP-SSL operation.
2007-01-05 23:11:14 +00:00
Daniel Stenberg
bedc61ac45
- Robert Foreman provided a prime example snippet showing how libcurl would
...
get confused and not acknowledge the 'no_proxy' variable properly once it
had used the proxy and you re-used the same easy handle. I made sure the
proxy name is properly stored in the connect struct rather than the
sessionhandle/easy struct.
2006-12-22 15:04:59 +00:00
Daniel Stenberg
b2f8de571f
When setting a proxy with environment variables and (for example) running
...
'curl [URL]' with a URL without a protocol prefix, curl would not send a
correct request as it failed to add the protocol prefix.
2006-12-22 07:30:21 +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
Daniel Stenberg
88c8d72a21
Alexey Simak found out that when doing FTP with the multi interface and
...
something went wrong like it got a bad response code back from the server,
libcurl would leak memory. Added test case 538 to verify the fix.
I also noted that the connection would get cached in that case, which
doesn't make sense since it cannot be re-use when the authentication has
failed. I fixed that issue too at the same time, and also that the path
would be "remembered" in vain for cases where the connection was about to
get closed.
2006-12-11 09:32:58 +00:00
Daniel Stenberg
eb29c5c285
removed the final traces of the closepolicy option
2006-12-05 21:39:24 +00:00
Daniel Stenberg
e4505aefd9
Jared Lundell filed bug report #1604956
...
(http://curl.haxx.se/bug/view.cgi?id=1604956 ) which identified setting
CURLOPT_MAXCONNECTS to zero caused libcurl to SIGSEGV. Starting now, libcurl
will always internally use no less than 1 entry in the connection cache.
2006-12-05 15:36:26 +00:00
Daniel Stenberg
4c65eb0af8
CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things in
...
Curl_done()
2006-12-05 15:17:32 +00:00
Yang Tse
a46f55b9de
Make sure RETSIGTYPE is properly defined
2006-11-25 01:02:52 +00:00
Daniel Stenberg
a634f64400
James Housley did lots of work and introduced SFTP downloads.
2006-11-24 22:14:39 +00:00
Daniel Stenberg
624745ab20
Dmitriy Sergeyev found a SIGSEGV with his test04.c example posted on 7 Nov
...
2006. It turned out we wrongly assumed that the connection cache was present
when tearing down a connection.
2006-11-09 21:54:33 +00:00
Daniel Stenberg
b5b3d9e5c7
Olaf fixed a leftover problem with the CONNECT fix of his that would leave a
...
wrong error message in the error message buffer.
2006-11-07 14:07:02 +00:00
Yang Tse
69f7d0a0ce
compiler warning fix
2006-11-06 18:27:25 +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
2147284cad
James Housley brought support for SCP transfers
2006-11-02 21:56:40 +00:00
Yang Tse
ba481718a4
Make more human readable and maintainable previous
...
compiler warning fix since it was Ok and actually
avoids the targeted compiler warning.
2006-10-29 14:58:59 +00:00
Yang Tse
a93695a70e
Compiler warning fix.
...
Assigning the const value zero to a pointer to function
results in a null pointer value assignment to the function
pointer.
Assignment of any nonzero value is what should result in a
implementation compiler dependent result.
Since what we want to do here is the first case, this should
not trigger compiler warnings related with conversions from
'pointer to data' to 'pointer to function'.
Our autobuild test suite will judge.
2006-10-27 15:32:18 +00:00
Yang Tse
8a8d5c784c
Do an explicit typecast of data pointers to function pointers
...
to avoid picky compiler warnings, since this is what we want!
2006-10-27 01:04:41 +00:00
Yang Tse
012d7e2878
Fix Curl_open() not reporting failure when allocation of the
...
buffer used to store headers in the SessionHandle failed.
2006-10-26 11:15:25 +00:00
Daniel Stenberg
f44ef427a2
other pipelining fixes by Ravi Pratap, that now makes pipelines get used better
2006-10-24 21:14:40 +00:00
Daniel Stenberg
36a3514225
the check in ConnectionExists() for not re-using a non-resolved connection now
...
applies for asynch name resolves in general and not only ares
2006-10-23 20:41:50 +00:00
Daniel Stenberg
e1edd41e1b
Ravi Pratap provided a major update with pipelining fixes. We also no longer
...
re-use connections (for pipelining) before the name resolving is done.
2006-10-23 20:34:56 +00:00
Daniel Stenberg
bd5d21aaf2
When a resolve is made on a pipelined connection we need to detect it properly
...
(when the resoling isn't completede yet) and not confuse it with a simple
connection re-use (non-pipelined).
2006-10-20 12:25:39 +00:00
Yang Tse
83884180ac
Builds using synchronous name resolver dislike marking the connection as async.
2006-10-19 02:30:02 +00:00
Daniel Stenberg
18aae32015
When a connection is re-used, it can be flagged for re-use before the name
...
resolving is completed so we must make sure to survive it and mark the
connection as async (ie not yet connected completely).
2006-10-18 15:10:49 +00:00
Daniel Stenberg
5b8d5fdf2f
cut out matching host names starting with telnet or ftps, since they hardly
...
ever actually are used
2006-10-18 11:13:39 +00:00
Dan Fandrich
8c38ea4ebc
Fixed compile error in HAVE_SIGACTION case.
2006-10-17 21:45:37 +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
44ffe0dc79
Typo
2006-10-17 09:07:38 +00:00
Daniel Stenberg
0bb20cc611
fix the name resolve abort timeout calculation (when signals are used)
2006-10-17 08:05:41 +00:00
Gisle Vanem
2260c8aa11
Replace ";;" with ";".
2006-10-15 20:28:03 +00:00
Yang Tse
e150150d9f
Remove redundant __CYGWIN__ symbol check
2006-10-11 16:01:16 +00:00
Daniel Stenberg
d390039873
minor indent fix
2006-10-09 21:24:50 +00:00
Daniel Stenberg
a1de9367ec
Bogdan Nicula's second test case (posted Sun, 08 Oct 2006) converted to test
...
case 535 and it now runs fine. Again a problem with the pipelining code not
taking all possible (error) conditions into account.
2006-10-09 06:58:05 +00:00
Daniel Stenberg
5e0d9aea32
Support for FTP third party transfers is now dropped
2006-09-30 20:31:11 +00:00
Daniel Stenberg
ae13c93b7d
Reported in #1561470 ( http://curl.haxx.se/bug/view.cgi?id=1561470 ), libcurl
...
would crash if a bad function sequence was used when shutting down after
using the multi interface (i.e using easy_cleanup after multi_cleanup) so
precautions have been added to make sure it doesn't any more - test case 529
was added to verify.
2006-09-28 21:26:06 +00:00
Yang Tse
ba01198e6c
Compiler warning fix
2006-09-25 00:05:39 +00:00
Daniel Stenberg
3ea8a4d220
Dmitriy Sergeyev provided a patch that made the SOCKS[45] code work better as
...
it now will read the full data sent from servers. The SOCKS-related code was
also moved to the new lib/socks.c source file.
2006-09-23 19:07:20 +00:00
Daniel Stenberg
ec4a16f2e0
Armel Asselin fixed problems when you gave a proxy URL with user name and
...
empty password or no password at all. Test case 278 and 279 were added to
verify.
2006-09-20 21:49:41 +00:00
Daniel Stenberg
71920d61e6
Michael Wallner's test program again help me track down a problem. This time
...
it basically was that we didn't remove the current connection from the pipe
list when following a redirect. Also in this commit: several cases of
additional debug code for debug builds helping to check and track down some
signs of run-time trouble.
2006-09-20 12:03:50 +00:00
Daniel Stenberg
2d5fc39d35
Resize the connection cache upwards when adding more handles than what
...
currently fits in the cache, to make the cache work better especially for
pipelining cases but also for "mere" (persistent) connection re-use.
2006-09-16 21:50:29 +00:00
Daniel Stenberg
39e01e9349
file-local function should be static and not use Curl_ prefix!
...
Curl_signalPipeClose is now signalPipeClose().
2006-09-15 08:47:55 +00:00
Yang Tse
7d3e719a2c
Compiler warning fix
2006-09-13 12:42:12 +00:00
Yang Tse
733a184ce0
Compiler warning fix
2006-09-12 23:51:01 +00:00
Daniel Stenberg
7c5745720a
If the current connection doesn't fit to get added to the connection cache,
...
we certainly MUST NOT kill an active connection... Problem tracked down thanks
to Michael Wallner's excellent test program.
2006-09-11 20:50:58 +00:00
Daniel Stenberg
29dc39fce1
- Fixed my breakage from earlier today so that doing curl_easy_cleanup() on a
...
handle that is part of a multi handle first removes the handle from the
stack.
- Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable SSL
session-ID re-use on demand since there obviously are broken servers out
there that misbehave with session-IDs used.
2006-09-11 17:18:18 +00:00
Daniel Stenberg
5c184cfc0d
stupid mistake rectified by Jeff Pohlmeyer
2006-09-11 11:25:47 +00:00
Yang Tse
055022a55f
Compiler warning fix
2006-09-10 23:45:54 +00:00
Yang Tse
c30e908034
Compiler warning fix
2006-09-10 23:37:42 +00:00
Daniel Stenberg
8240cea628
Jeff Pohlmeyer presented a *multi_socket()-using program that exposed a
...
problem with it (SIGSEGV-style). It clearly showed that the existing
socket-state and state-difference function wasn't good enough so I rewrote
it and could then re-run Jeff's program without any crash. The previous
version clearly could miss to tell the application when a handle changed
from using one socket to using another.
While I was at it (as I could use this as a means to track this problem
down), I've now added a 'magic' number to the easy handle struct that is
inited at curl_easy_init() time and cleared at curl_easy_cleanup() time that
we can use internally to detect that an easy handle seems to be fine, or at
least not closed or freed (freeing in debug builds fill the area with 0x13
bytes but in normal builds we can of course not assume any particular data
in the freed areas).
2006-09-10 22:15:32 +00:00
Gisle Vanem
690888cfc1
SIGALARM -> SIGALRM.
2006-09-09 19:13:13 +00:00
Gisle Vanem
fb8d9b6645
#ifdef around alarmfunc() to supress warning.
2006-09-09 19:11:54 +00:00
Gisle Vanem
1dec17562f
signal() returns 'void (*)(int)'.
2006-09-08 13:06:41 +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
Yang Tse
7e4193b538
Fix compiler warning
2006-09-07 01:18:46 +00:00
Daniel Stenberg
466d093a92
- "Dortik" ( http://curl.haxx.se/bug/view.cgi?id=1551412 ) provided a patch that
...
while not fixing things very nicely, it does make the SOCKS5 proxy
connection slightly better as it now acknowledges the timeout for connection
and it no longer segfaults in the case when SOCKS requires authentication
and you did not specify username:password.
2006-09-03 22:52:42 +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
5acadc9cd7
David McCreedy added CURLOPT_SOCKOPTFUNCTION and CURLOPT_SOCKOPTDATA to
...
allow applications to set their own socket options.
2006-08-29 14:39:33 +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
Yang Tse
9dde0b54a3
Silence warning: empty body in an if-statement
2006-07-31 17:46:28 +00:00
Daniel Stenberg
2527b53019
Dan Nelson added the CURLOPT_FTP_ALTERNATIVE_TO_USER libcurl option and curl
...
tool option named --ftp-alternative-to-user. It provides a mean to send a
particular command if the normal USER/PASS approach fails.
2006-07-25 22:45:21 +00:00
Gisle Vanem
385db0e97d
Fix typo.
2006-07-24 15:56:40 +00:00
Gisle Vanem
e40641bf7c
Use calloc() instead.
2006-07-21 04:19:44 +00:00
Yang Tse
d157c29269
Fix compiler warnings
2006-07-19 21:14:02 +00:00
Yang Tse
9c83a20a27
Fix compiler warning "enumerated type mixed with another type"
2006-07-17 14:52:31 +00:00
Daniel Stenberg
daef1cf34d
David McCreedy fixed a flaw where the CRLF counter wasn't properly cleared
...
for FTP ASCII transfers.
2006-07-14 18:58:42 +00:00
Daniel Stenberg
ca319f63ad
Ingmar Runge provided a source snippet that caused a crash. The reason for
...
the crash was that libcurl internally was a bit confused about who owned the
DNS cache at all times so if you created an easy handle that uses a shared
DNS cache and added that to a multi handle it would crash. Now we keep more
careful internal track of exactly what kind of DNS cache each easy handle
uses: None, Private (allocated for and used only by this single handle),
Shared (points to a cache held by a shared object), Global (points to the
global cache) or Multi (points to the cache within the multi handle that is
automatically shared between all easy handles that are added with private
caches).
2006-07-07 22:58:06 +00:00
Daniel Stenberg
dfe1884c25
Peter Silva introduced CURLOPT_MAX_SEND_SPEED_LARGE and
...
CURLOPT_MAX_RECV_SPEED_LARGE that limit tha maximum rate libcurl is allowed
to send or receive data. This kind of adds the the command line tool's
option --limit-rate to the library.
The rate limiting logic in the curl app is now removed and is instead
provided by libcurl itself. Transfer rate limiting will now also work for -d
and -F, which it didn't before.
2006-06-22 21:36:53 +00:00
Daniel Stenberg
990e56fb13
Brian Dessent's fixes for cygwin builds
2006-06-08 06:12:30 +00:00
Daniel Stenberg
482b3ba702
long/int cleanup to silence picky compiler warnings
2006-05-26 11:26:42 +00:00
Daniel Stenberg
606562aa7e
Michael Wallner provided a patch that allows "SESS" to be set with
...
CURLOPT_COOKIELIST, which then makes all session cookies get cleared. (slightly
edited by me, and the re-indent in cookie.c was also done by me)
2006-05-24 22:46:38 +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
5a4b43848a
First commit of David McCreedy's EBCDIC and TPF changes.
2006-04-07 21:50:47 +00:00
Daniel Stenberg
4d33cf739d
added typedefed function pointers and typecast the NULL assignments in an
...
attempt to silence picky compilers when assigning data pointers to a function
pointer variable
2006-04-07 11:47:21 +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
cffebd7fd6
Markus Koetter filed debian bug report #355715 which identified a problem
...
with the multi interface and multi-part formposts. The fix from February
22nd could make the Curl_done() function get called twice on the same
connection and it was not designed for that and thus tried to call free() on
an already freed memory area!
2006-03-07 23:11:41 +00:00
Dan Fandrich
a39ac3d94a
Added user ID support to SOCKS4.
2006-02-24 21:35:48 +00:00
Dan Fandrich
45e4b811b0
Fixed a few more comment typos.
2006-02-23 18:39:22 +00:00
Daniel Stenberg
0e6a1a4420
Peter Su's SOCKS4 fix
2006-02-23 14:42:47 +00:00
Daniel Stenberg
6fdbb01194
Lots of work and analysis by "xbx___" in bug #1431750
...
(http://curl.haxx.se/bug/view.cgi?id=1431750 ) helped me identify and fix two
different but related bugs:
1) Removing an easy handle from a multi handle before the transfer is done
could leave a connection in the connection cache for that handle that is
in a state that isn't suitable for re-use. A subsequent re-use could then
read from a NULL pointer and segfault.
2) When an easy handle was removed from the multi handle, there could be an
outstanding c-ares DNS name resolve request. When the response arrived,
it caused havoc since the connection struct it "belonged" to could've
been freed already.
Now Curl_done() is called when an easy handle is removed from a multi handle
pre-maturely (that is, before the transfer was complteted). Curl_done() also
makes sure to cancel all (if any) outstanding c-ares requests.
2006-02-23 12:20:48 +00:00
Dan Fandrich
75c9430559
Fixed some spelling errors in comments, and extraneous \n in failf logs.
2006-02-22 19:09:33 +00:00
Daniel Stenberg
a15d107dde
Peter Su added support for SOCKS4 proxies. Enable this by setting the proxy
...
type to the already provided type CURLPROXY_SOCKS4.
I added a --socks4 option that works like the current --socks5 option but
instead use the socks4 protocol.
2006-02-21 07:46:41 +00:00
Daniel Stenberg
ad6511c313
Added some clarifying comments
2006-02-16 10:02:11 +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
2fbf94b0f3
Added CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with the
...
curl tool with --local-port. Plain and simply set the range of ports to bind
the local end of connections to. Implemented on to popular demand.
Not extensively tested. Please let me know how it works.
2006-01-30 08:24:07 +00:00
Daniel Stenberg
fcfd6d9504
Duane Cathey was one of our friends who reported that curl -P [IP]
...
(CURLOPT_FTPPORT) didn't work for ipv6-enabed curls if the IP wasn't a
"native" IP while it works fine for ipv6-disabled builds!
In the process of fixing this, I removed the support for LPRT since I can't
think of many reasons to keep doing it and asking on the mailing list didn't
reveal anyone else that could either. The code that sends EPRT and PORT is
now also a lot simpler than before (IMHO).
2006-01-19 23:52:03 +00:00
Daniel Stenberg
67a83c1b34
David Shaw finally removed all traces of Gopher and we are now officially
...
not supporting it. It hasn't been functioning for years anyway, so this is
just finally stating what already was true. And a cleanup at the same time.
2006-01-16 22:14:37 +00:00
Daniel Stenberg
7d1e3ebeed
explain tld_check_name()
2005-12-20 22:46:12 +00:00
Daniel Stenberg
6dbfce1031
Jean Jacques Drouin pointed out that you could only have a user name or
...
password of 127 bytes or less embedded in a URL, where actually the code
uses a 255 byte buffer for it! Modified now to use the full buffer size.
2005-12-16 14:52:16 +00:00
Daniel Stenberg
f49df54a36
7.15.1 with the now to be announced security flaw fixed
2005-12-06 23:05:51 +00:00
Daniel Stenberg
176d4e85e9
cast the va_arg() assignment to ftp_filemethod properly
2005-11-30 13:09:48 +00:00
Daniel Stenberg
0fd282b078
new experimental "ftp method" code
2005-11-28 23:06:00 +00:00
Daniel Stenberg
966fa848a0
Nis Jorgensen filed bug report #1338648
...
(http://curl.haxx.se/bug/view.cgi?id=1338648 ) which really is more of a
feature request, but anyway. It pointed out that --max-redirs did not allow
it to be set to 0, which then would return an error code on the first
Location: found. Based on Nis' patch, now libcurl supports CURLOPT_MAXREDIRS
set to 0, or -1 for infinity. Added test case 274 to verify.
2005-10-27 22:05:38 +00:00
Daniel Stenberg
1a1ab2e2e8
"Ofer" reported a problem when libcurl re-used a connection and failed to do
...
it, it could then accidentally actually crash. Presumably, this concerns FTP
connections. http://curl.haxx.se/bug/view.cgi?id=1330310
2005-10-21 21:00:44 +00:00
Daniel Stenberg
e43217e664
Starting now, the verbose text that goes like "About to connect() to" will
...
now contain the word "proxy" is the hostname is in fact a proxy. This will
help users detect situations when they mistakenly use a proxy.
2005-09-29 11:37:52 +00:00
Daniel Stenberg
e7093b3ca8
keep 'socktype' in the connectdata struct and make sure we use that for all
...
protocol sockets even if the resolved address may say otherwise
2005-09-16 21:30:08 +00:00
Daniel Stenberg
7e845e7cfd
Added FTP_SKIP_PASV_IP and --ftp-skip-pasv-ip
2005-09-04 05:16:06 +00:00
Daniel Stenberg
56d9624b56
John Kelly added TFTP support to libcurl. A bunch of new error codes was
...
added. TODO: add them to docs. add TFTP server to test suite. add TFTP to
list of protocols whereever those are mentioned.
2005-09-02 15:11:08 +00:00
Daniel Stenberg
a4773fcbbb
Toby Peterson added CURLOPT_IGNORE_CONTENT_LENGTH to the library, accessible
...
from the command line tool with --ignore-content-length. This will make it
easier to download files from Apache 1.x (and similar) servers that are
still having problems serving files larger than 2 or 4 GB. When this option
is enabled, curl will simply have to wait for the server to close the
connection to signal end of transfer. I wrote test case 269 that runs a
simple test that this works.
2005-08-24 10:57:28 +00:00
Daniel Stenberg
a676c18502
- Jeff Pohlmeyer found out that if you ask libcurl to load a cookiefile (with
...
CURLOPT_COOKIEFILE), add a cookie (with CURLOPT_COOKIELIST), tell it to
write the result to a given cookie jar and then never actually call
curl_easy_perform() - the given file(s) to read was never read but the
output file was written and thus it caused a "funny" result.
- While doing some tests for the bug above, I noticed that Firefox generates
large numbers (for the expire time) in the cookies.txt file and libcurl
didn't treat them properly. Now it does.
2005-08-17 08:55:43 +00:00
Daniel Stenberg
493d6033aa
Jon Grubbs filed bug report #1249962 which identified a problem with NTLM on a
...
HTTP proxy if an FTP URL was given. libcurl now properly switches to pure HTTP
internally when an HTTP proxy is used, even for FTP URLs. The problem would
also occur with other multi-pass auth methods.
2005-08-07 22:59:06 +00:00
Daniel Stenberg
aeb04136f7
Don't prevent FTPS:// through a http proxy, as we cannot know if it works or
...
not!
2005-08-07 21:39:44 +00:00
Daniel Stenberg
e358a24a75
reset the numcookies counter too (I missed it in the previous commit)
2005-07-28 21:53:09 +00:00
Daniel Stenberg
ec3f269d1f
now strdups the cookielist inpointer before passed on, as the cookie function
...
modifies it
2005-07-28 21:50:34 +00:00
Daniel Stenberg
726b9e2240
If any of the options CURLOPT_HTTPGET, CURLOPT_POST and CURLOPT_HTTPPOST is
...
set to 1, CURLOPT_NOBODY will now automatically be set to 0.
2005-07-27 22:29:50 +00:00
Daniel Stenberg
2236ba0d20
Peteris Krumins added CURLOPT_COOKIELIST and CURLINFO_COOKIELIST, which is a
...
simple interface to extracting and setting cookies in libcurl's internal
"cookie jar". See the new cookie_interface.c example code.
2005-07-27 22:17:14 +00:00
Daniel Stenberg
4922904991
Simplified the code within curl_easy_perform() that calls Curl_perform().
...
Pointed out by Bjorn Reese.
2005-07-17 12:44:11 +00:00
Daniel Stenberg
465e19dbe9
Adrian Schuur added trailer support in the chunked encoding stream. The
...
trailer is then sent to the normal header callback/stream.
2005-07-12 18:15:34 +00:00
Daniel Stenberg
3b60bb7259
David Shaw's fix that unifies proxy string treatment so that a proxy given
...
with CURLOPT_PROXY can use a http:// prefix and user + password. The user
and password fields are now also URL decoded properly.
Test case 264 added to verify.
2005-06-22 22:24:10 +00:00
Daniel Stenberg
300b4a9158
Todd Kulesza reported a flaw in the proxy option, since a numerical IPv6
...
address was not possible to use. It is now, but requires it written
RFC2732-style, within brackets - which incidently is how you enter numerical
IPv6 addresses in URLs. Test case 263 added to verify.
2005-05-31 13:03:26 +00:00
Daniel Stenberg
eff36caea8
additional fix for the malformed URL fix of yday
2005-05-19 07:21:18 +00:00
Daniel Stenberg
4a091bbd8a
Bug report #1204435 identified a problem with malformed URLs like
...
"http://somehost?data " as it added a slash too much in the request ("GET
/?data/"...). Added test case 260 to verify.
2005-05-18 20:01:01 +00:00
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 Hervás 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
Andrés García 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
Daniel Stenberg
08ef208fb7
added disable-[protocol] support, largely provided by Miklos Nemeth
2002-06-11 11:13:01 +00:00
Daniel Stenberg
59c11b82d5
Cris Bailiff's CAPATH support added
2002-05-28 09:21:29 +00:00
Daniel Stenberg
ec585e8907
When re-using a connection, make sure that we use the current host name as
...
we might actually re-use a connection to a different host, when using proxies!
This was what bug report #558888 was all about.
2002-05-21 22:24:56 +00:00
Daniel Stenberg
105ec79b2b
James Cone's efforts to add another netrc parsing "mode"
2002-05-21 22:17:19 +00:00
Daniel Stenberg
980a47b42b
support for ingoring session cookies added
2002-05-07 09:58:13 +00:00
Daniel Stenberg
f7ca561b06
the code for case CURLOPT_DEBUGDATA code broke the CURLOPT_STDERR one!
2002-05-06 18:30:17 +00:00
Daniel Stenberg
00e4f81446
prevent persistant connections to do name resolves
2002-04-25 19:18:19 +00:00
Daniel Stenberg
8927ddec16
In order to not get problems with DNS cache pruning, we no longer store
...
any name resolved data in any curl handle struct. That way, we won't mind
if the cache entries are pruned for the next time we need them. We'll just
resolve them again instead.
This changes the Curl_resolv() proto. It modifies the SessionHandle struct
but perhaps most importantly, it'll make the internals somewhat dependent
on the DNS cache not being disabled as that will cripple operations somewhat.
Especially for persistant connections.
2002-04-25 19:00:57 +00:00
Daniel Stenberg
3b9ef8dfc8
removed warning about signed/unsigned comparison
2002-04-23 14:57:37 +00:00
Daniel Stenberg
471f1d694f
fixes bug report #547484 , no_proxy doesn't properly strip off port numbers
...
from the host names before comparing
2002-04-23 13:34:28 +00:00
Daniel Stenberg
c06171a802
store TIMER_CONNECT even if the connect failed
2002-04-12 10:03:59 +00:00
Daniel Stenberg
5528c1eaa5
corrected the verbose output for connects and fixed the connect time stamp
...
better for FTP (any protocol with protocol-specific connect actions)
2002-04-12 08:18:38 +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
1cd5cdfccb
default proxy port set, as reported by Sebastien Willemijns
2002-04-10 14:07:03 +00:00
Daniel Stenberg
e8109b09b1
error code cleanup, use the new SEND/RECV errors
2002-04-10 13:44:42 +00:00
Daniel Stenberg
a03fd7b81c
T. Bharath pointed out the flaw in ConnectionExists() for how we didn't
...
check proxy connections for "deadness" before they were re-used
2002-04-04 12:23:14 +00:00
Daniel Stenberg
974f314f57
copyright string (year) update
2002-03-19 07:54:55 +00:00
Daniel Stenberg
7886f120f3
CURLOPT_POST deserved a new comment with the new POST-by-callback support
2002-03-14 14:37:16 +00:00
Daniel Stenberg
e1bae4fc7e
Setting CURLOPT_PASSWDFUNCTION to NULL now restores the internal function.
2002-03-13 13:10:52 +00:00
Daniel Stenberg
017be8a882
Jean-Philippe Barrette-LaPierre fixed the CURLOPT_PASSWDFUNCTION to make
...
NULL set back the internal default function
2002-03-08 15:06:42 +00:00
Daniel Stenberg
80b004a57d
Wesley Laxton's CURLOPT_PREQUOTE work
2002-02-28 23:31:23 +00:00
Daniel Stenberg
feb6b6445e
Giaslas Georgios's Host: over proxy fix
2002-02-17 11:17:37 +00:00
Daniel Stenberg
be2f3071b5
conn->upload_bufsize exists no more
2002-01-29 20:34:30 +00:00
Daniel Stenberg
76c53c690c
Giaslas Georgios introduced CURLINFO_CONTENT_TYPE
2002-01-29 10:49:32 +00:00
Daniel Stenberg
c341b11aaf
Steve Marx helped us realize that we shouldn't treat customrequest as a
...
request of its own, it just changes the keyword of a request.
2002-01-28 19:31:26 +00:00
Sterling Hughes
22ac08e06d
Add support for DNS cache timeouts via the CURLOPT_DNS_CACHE_TIMEOUT option.
...
The default cache timeout for this is 60 seconds, which is arbitrary and
completely subject to change :)
2002-01-08 04:26:47 +00:00
Sterling Hughes
8d7f402efb
Make cach'ing work with threads now, there are now three cases:
...
- Use a global dns cache (via setting the tentatively named,
CURLOPT_DNS_USE_GLOBAL_CACHE option to true)
- Use a per-handle dns cache, by default
- Use a pooled dns cache when in the "multi" interface
2002-01-07 20:52:32 +00:00
Daniel Stenberg
f75ff58b4b
an unconditional occurance of inet_ntoa() now uses inet_ntoa_r() on all
...
platforms that have such a function.
This affects multi-thread running libcurls on IPv4 systems that have VERBOSE
switched on. The previous version was risking that another thread overwrote
the data before it was read out in this thread. There could possibly also
be a slight risk that the data isn't zero terminated for a short while and
thus could cause the thread to crash...
2002-01-04 09:38:52 +00:00
Daniel Stenberg
8b6314ccfb
merged the multi-dev branch back into MAIN again
2002-01-03 15:01:22 +00:00
Daniel Stenberg
6de7dc5879
Sterling Hughes' provided initial DNS cache source code.
2002-01-03 10:22:59 +00:00
Daniel Stenberg
8a9098a36c
*cool* fix by Björn Stenberg, makes proxy transfers work better...! :-)
2001-12-20 15:58:22 +00:00
Daniel Stenberg
af6c394785
Götz Babin-Ebell's OpenSSL ENGINE patch
2001-12-17 23:01:39 +00:00
Daniel Stenberg
7b832e1745
Jon Travis suggested fix. when CURLOPT_HTTPGET is used we must assign
...
set.upload to FALSE or else we might still get an upload if the previous
operation was an upload!
2001-12-05 06:47:01 +00:00
Daniel Stenberg
c16c017f8b
more careful re-use of connections when SSL is used over proxies
2001-12-02 14:16:34 +00:00
Daniel Stenberg
533c24a471
disabling EPSV is now possible
2001-11-29 12:49:10 +00:00
Daniel Stenberg
332eb7651a
CURLOPT_FTP_USE_EPSV can now be set to FALSE to prevent libcurl from
...
attempting to use EPSV before the standard PASV.
2001-11-28 23:20:14 +00:00
Daniel Stenberg
05f3ca880f
made CURLOPT_HTTPPROXYTUNNEL work for plain HTTP as well
2001-11-12 14:08:41 +00:00
Daniel Stenberg
fe3a78ab19
we use signal() to ignore signals only as long as we have to, and we now
...
restore the previous (if any) signal handler properly on return.
2001-11-07 14:13:29 +00:00
Daniel Stenberg
1a984ea847
get the previous struct keep_sigact
2001-11-07 12:56:13 +00:00
Daniel Stenberg
2e32d415c0
myalarm() is history, we now use HAVE_ALARM and we now do our very best to
...
1 - restore the previous sigaction struct as soon as we are about to shut
off our timeout
2 - restore the previous alarm() timeout, in case an application or similar
had it running before we "borrowed" it for a while.
No, this does not fix the multi-thread problem you get with alarm(). This
patch should correct bug report #478780 :
//sourceforge.net/tracker/?func=detail&atid=100976&aid=478780&group_id=976
If not, please post details!
2001-11-06 19:33:13 +00:00
Daniel Stenberg
9b6545c479
ConnectionExists() now returns FALSE immediately if it finds a connection
...
that is dead, because it can only find one entry anyway and if that is dead
there won't be any other entry that matches
2001-11-01 13:54:32 +00:00
Daniel Stenberg
c4f1a9f690
Removed the SocketIsDead() stuff for SSL again as it doesn't work. We must
...
rely on the new go-ahead-and-try mechanism that I just added to Transfer()
2001-10-31 15:14:52 +00:00
Daniel Stenberg
b07e2a08f9
nonblock => Curl_nonblock, remade the check for a live SSL connection (again)
2001-10-31 08:44:11 +00:00
Daniel Stenberg
dbd32278f8
Added an additional SSL check for a dead socket before we re-use an SSL
...
connection. The simple socket-check is not enough in these cases.
2001-10-30 15:21:45 +00:00
Daniel Stenberg
42a9d96fae
fixed conn->name error on connection re-use and enlarged the 'gname' array
...
to hold 512 bytes (for user+password+hostname)
2001-10-29 10:10:21 +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
Daniel Stenberg
532bca41e5
Curl_tvdiff() now returns a millisecond diff, no double like before
2001-10-12 12:32:20 +00:00
Sterling Hughes
8e91d5de8e
looks nicer and is better compatible with older vim versions
2001-10-11 09:32:19 +00:00