1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-18 07:25:14 -05:00
Commit Graph

1166 Commits

Author SHA1 Message Date
Daniel Stenberg
c40b4f6c39 don't add 2 to the post size, that was a previous mistake because there
was an extra CRLF added to the post data
2002-02-07 09:32:40 +00:00
Daniel Stenberg
9e6cc86bf7 Miklos Nemeth improved 2002-02-06 16:00:55 +00:00
Daniel Stenberg
b544c5fa5c ARGH the CRLF I removed recently was not only done after the initial
content-type header, it was used for each part and thus without this it
failed MISERABLY. *smacks forhead*
2002-02-06 15:48:53 +00:00
Daniel Stenberg
e9bfef0eb1 Brent Beardsley found the content-type bug! 2002-02-06 07:02:13 +00:00
Daniel Stenberg
ddbcccd43d Kevin Roth's discovered SSL download problem 2002-02-05 15:33:00 +00:00
Daniel Stenberg
0d5bfe883e Andreas Damm made getdate use gmtime_r if available 2002-02-01 11:11:26 +00:00
Daniel Stenberg
3474ec4ecb _num_chars did wrong when called with a number that starts with 1! 2002-01-31 07:51:06 +00:00
Daniel Stenberg
907a6e0eed Georg Horn the previous SSL_read() fix, this was actually the fix I did
on my test machine! :-)
2002-01-30 21:49:29 +00:00
Daniel Stenberg
b28051881e Georg Horn found yet another SSL reading problem caused by the non-blocks.
This was a real bummer!
2002-01-30 15:11:47 +00:00
Daniel Stenberg
5b58e61f28 now re-seed by force (even if already seeded) if a random file or egd socket
is given
2002-01-30 08:17:23 +00:00
Daniel Stenberg
be2f3071b5 conn->upload_bufsize exists no more 2002-01-29 20:34:30 +00:00
Daniel Stenberg
85dbf82d93 append a CRLF pair after the content-type line 2002-01-29 20:32:10 +00:00
Daniel Stenberg
a9c4963cc0 removed three loust fprintf()s
removed the initial CRLF in the formpost, as they are part of the request
and should be written by the code in http.c!
2002-01-29 20:30:56 +00:00
Daniel Stenberg
a4934387d5 upload progress counter fix, removed the adjustable upload buffer size 2002-01-29 20:28:59 +00:00
Daniel Stenberg
e88a2ec6fc no more adjustable upload buffer size, we use non-blocking sockets now so
this work-around is not needed anymore!
2002-01-29 20:28:26 +00:00
Daniel Stenberg
f114caca90 - T. Bharath pointed out that we seed SSL on every connect, which is a time-
consuming operation that should only be needed to do once. We patched
  libcurl to now only seed on the first connect when unseeded. The seeded
  status is global so it'll now only happen once during a program's life time.
2002-01-29 14:11:38 +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
Daniel Stenberg
6212e6990a someone should have me punished, but this bug made curl bug seriously
on IPv4-linux machines
2002-01-28 19:23:18 +00:00
Daniel Stenberg
5d3dd7911e newly generated 2002-01-28 18:39:55 +00:00
Daniel Stenberg
ae8375516b Andreas Damm made it reentrant safe! 2002-01-28 18:39:40 +00:00
Daniel Stenberg
e3f10eb825 no longer add CRLF _after_ POST data, it should not be needed. Pedro Neves
pointed out this ugliness.
2002-01-27 11:51:11 +00:00
Daniel Stenberg
2b1f683239 set header and request size to 0 before each *_perform() 2002-01-27 11:49:17 +00:00
Daniel Stenberg
4146ce8267 bug report #508235 identified a non-working Location: following, and this
little fix seems to correct it. another case where we just returned and
didn't shut off the reading. This bug is introduced in 7.9.3 due to the
new internal "order".
2002-01-25 08:35:49 +00:00
Daniel Stenberg
2db894807b Andrés García found out that we didn't properly stop reading from a connection
after the headers on a HEAD request. This bug has been added in 7.9.3 and was
mnot present earlier.
2002-01-23 07:15:32 +00:00
Daniel Stenberg
e911945c55 #505514, as correctly pointed out by Antonio (anton@concord.ru), trying to
post a non-existing file should include nothing, not an error text!
2002-01-19 11:08:05 +00:00
Daniel Stenberg
0b177cb165 newly generated 2002-01-18 15:14:35 +00:00
Daniel Stenberg
f925979b2f satisfy gcc -Wundef 2002-01-18 13:10:41 +00:00
Daniel Stenberg
49f7fa82b9 #if [undefined] => #ifdef [undefined] 2002-01-18 13:04:48 +00:00
Daniel Stenberg
e74b20926d prevents gcc -Wcast-align from complaining 2002-01-18 12:59:33 +00:00
Daniel Stenberg
a312127c91 made gcc -Wcast-align happy 2002-01-18 12:56:10 +00:00
Daniel Stenberg
1dc5bf4f73 #ifndef and #define magic to prevent compiler warnings when doing #if BLA
where BLA is undefined
2002-01-18 12:53:05 +00:00
Daniel Stenberg
fd307bfe29 cut off a big piece of comment and added a pointer to the Trio web page
should anyone ever want a good printf() clone
2002-01-18 10:45:03 +00:00
Daniel Stenberg
7bfe853af3 I wish I could type. Anyway, this proved it is a good habit to put the NULL
on the left side of comparisons...
2002-01-18 10:36:25 +00:00
Daniel Stenberg
cbaecca8e9 added typecast for a malloc() return, and added check for NULL 2002-01-18 10:30:51 +00:00
Daniel Stenberg
8edfb370a8 Added #include <errno.h> 2002-01-18 09:25:58 +00:00
Daniel Stenberg
4c08c8f7db Andrés García patched. It now checks for EWOULDBLOCK properly on windows
boxes.
2002-01-18 08:03:54 +00:00
Daniel Stenberg
c174680a03 patched by Andrés García 2002-01-18 08:03:12 +00:00
Daniel Stenberg
eba8035e12 Richard Archer made it compile and build with OpenSSL versions prior to
0.9.5
2002-01-17 10:40:13 +00:00
Daniel Stenberg
edcbf4350b include our own sprintf() prototype to make it return sensible data on
all platforms, I also edited a few data types slightly to prevent my
compiler from warning on comparisions between signed and unsigned values
2002-01-17 08:03:48 +00:00
Sterling Hughes
9289ea471f Get this working, still need to check for leaks and such, but should be
fine..
2002-01-17 07:38:25 +00:00
Sterling Hughes
7d06185aa6 Make the keys for hostcache entries be in the format::
host:port, so accessing curl.haxx.se on port 80 would yield a key value
of ::
curl.haxx.se:80
2002-01-17 06:55:37 +00:00
Daniel Stenberg
e177f14595 SSL writes passed back a silly length... 2002-01-16 23:28:58 +00:00
Daniel Stenberg
5c6eddcadd fixed time-out returned without error text set 2002-01-16 22:26:01 +00:00
Daniel Stenberg
b3b4786990 Kevin Roth's SSLeay() patch, slight edited by me. Works with OpenSSL 0.9.5
now.
2002-01-16 17:45:08 +00:00
Daniel Stenberg
8d97792dbc - shrunk the BUFSIZE define from 50K to 20K
- made a separate buffer for uploads (due to the non-blocking stuff)
- added two connectdata struct fields for non-blocking uploads
2002-01-16 14:53:19 +00:00
Daniel Stenberg
8d07c87be7 modified to deal with the new non-blocking versions of Curl_read() and
Curl_write().
2002-01-16 14:50:53 +00:00
Daniel Stenberg
ed21701df3 Curl_write's 5th argument now is signed 2002-01-16 14:49:51 +00:00
Daniel Stenberg
df01507582 Curl_read() and Curl_write() are both now adjusted to return properly in
cases where EWOULDBLOCK or equivalent is returned. We must not block.
2002-01-16 14:49:08 +00:00
Daniel Stenberg
f2bda5fd5b Curl_write() now takes a different 5th argument 2002-01-16 14:47:50 +00:00
Daniel Stenberg
cba9838e8f Somewhat ugly fix to deal with non-blocking sockets. We just loop and try
again. THIS IS NOT A NICE FIX.
2002-01-16 14:47:00 +00:00
Daniel Stenberg
b6dba9f5dd Somewhat ugly fix to deal with non-blocking sockets. We just loop and try
again. THIS IS NOT A NICE FIX. We should/must make a select() then and only
retry when we can write to the socket again.
2002-01-16 14:46:00 +00:00
Daniel Stenberg
4931fbce49 Curl_read() now returns a negative return code if EWOULDBLOCK or similar 2002-01-14 23:14:59 +00:00
Daniel Stenberg
fefc7ea600 a memory leak when name lookup failed is now removed 2002-01-14 23:14:24 +00:00
Sterling Hughes
a1f910c159 Remove erreaneous include, setup.h is included one line above 2002-01-14 05:36:28 +00:00
Daniel Stenberg
d84a0c51e0 Cris Bailiff found out that when the SSL session cache was filled, libcurl
would crash. This corrects the problem.
2002-01-09 09:38:37 +00:00
Daniel Stenberg
d57e09889a added a missing failf() before returning an error code 2002-01-08 23:23:24 +00:00
Daniel Stenberg
eecb86bfb0 this seems to correct the SSL reading problem introduced when switching
over to non-blocking sockets, but this loops very nastily. We should return
back to the select() and wait there until more data arrives, not just blindly
attempt again and again...
2002-01-08 23:19:32 +00:00
Daniel Stenberg
75bba0da92 added two typecasts to prevent compiler (gcc3) warnings 2002-01-08 07:06:07 +00:00
Sterling Hughes
c0bfe7be15 1) the dns_cache_timeout should be an integer, not a bool
2) in the curl_dns_cache_entry structure, timestamp should be
a time_t instead of an integer (although I doubt it matters).
2002-01-08 04:30:59 +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
Daniel Stenberg
87037136ef As identified in bug report #495290, the last "name=value" pair in a
Set-Cookie: line was ignored if they didn't end with a trailing
semicolon. This is indeed wrong syntax, but there are high-profile web sites
out there sending cookies like that so we must make a best-effort to parse
them.
2002-01-07 23:05:36 +00:00
Daniel Stenberg
2182e37433 the bool typedef is now made unsigned, to make sure it stays that on all
platforms, unrelated to what they might prefer by default
2002-01-07 22:47:21 +00:00
Daniel Stenberg
1de82b220d removed silly check for >=0 of a supposedly unsigned value! 2002-01-07 22:46:38 +00:00
Sterling Hughes
bd878756fc Probably not necessary, but good practice. 2002-01-07 20:55:35 +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
d3299beec7 Modified to use non-blocking sockets all the time. 2002-01-07 18:38:01 +00:00
Daniel Stenberg
c69c0c0446 added proper breaks in the switch() 2002-01-07 15:24:52 +00:00
Daniel Stenberg
e31a306a38 HTTP response 204 should be treated similar to 304, that is we must not
expect (nor read) any response-body
2002-01-07 14:57:18 +00:00
Daniel Stenberg
d9a7773011 added precautions to not go insane when two matching cookies end up in the
cookie list, even though they're not supposed to do that...
2002-01-07 14:56:15 +00:00
sm
2b14916813 Add hash and llist to VC dsp file 2002-01-04 23:48:28 +00:00
sm
1d1530e14c Add hash and llist to VC makefile 2002-01-04 23:47:07 +00:00
Daniel Stenberg
5a0f0023cf replaced printf() => Curl_sendf() 2002-01-04 09:53:39 +00:00
Daniel Stenberg
6dcdb8b821 removed a commented line 2002-01-04 09:53:10 +00:00
Daniel Stenberg
781f52a287 fixed an inet_ntoa() occurance to use inet_ntoa_r() if it is available.
I also replaced all printf() calls with calls to Curl_failf()
2002-01-04 09:52:44 +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
ae9bf16dee #include the local "inet_ntoa_r.h" file if no proto was found in the global
header directory but the function *is* present!
2002-01-04 09:35:23 +00:00
Daniel Stenberg
17a8bf212f The buffer in ftp_pasv_verbose(), used for gethostbyaddr_r(), is now defined
to become properly 8-byte aligned on 64-bit archs. Philip Gladstone reported.
2002-01-04 09:17:52 +00:00
Daniel Stenberg
4fc76afef4 The FTP response lines are now passed to the function callback registered for
headers.
2002-01-04 09:03:11 +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
6aaee5f23b minor changes 2002-01-03 09:43:17 +00:00
Daniel Stenberg
0077b9c0a2 pass an 'int' as the third argument to bind() 2002-01-03 00:51:33 +00:00
Daniel Stenberg
fe37fb5921 Philip Gladstone's 64-bit sparc native compiler compatibility issues fixed. 2002-01-02 10:06:47 +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
28027c2aa2 If nobody is set we won't download any FTP file. If include_header is set,
we return a set of headers not more. This enables FTP operations that don't
transfer any data, only perform FTP commands.
2001-12-20 11:22:01 +00:00
Daniel Stenberg
af6c394785 Götz Babin-Ebell's OpenSSL ENGINE patch 2001-12-17 23:01:39 +00:00
Daniel Stenberg
2eb355733f Marcus Webster's newly added CURLFORM_CONTENTHEADER 2001-12-14 12:59:16 +00:00
Daniel Stenberg
e66cdacb93 minor changes 2001-12-13 07:16:27 +00:00
Daniel Stenberg
c67f2da283 solaris 2.5.1 needs the sys/types.h file before the sys/socket.h 2001-12-11 15:08:27 +00:00
Daniel Stenberg
e192261788 failf() calls should not have newlines in the message string! 2001-12-11 13:13:01 +00:00
Daniel Stenberg
47e67eab26 corrected the comment above gmtime_r 2001-12-07 15:56:57 +00:00
Daniel Stenberg
650b95045d added gmtime_r check 2001-12-07 15:51:59 +00:00
Daniel Stenberg
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
436d147925 Eric's #include fixes for better macos compiles 2001-12-04 13:03:08 +00:00
Daniel Stenberg
7ee6a9dc25 i'm soooo funny 2001-12-04 09:14:41 +00:00
Daniel Stenberg
d52c0b6f05 more comments 2001-12-04 07:47:21 +00:00
Daniel Stenberg
779043f7a3 As Eric Lavigne pointed out, the ftp response reader MUST cache data that
is not dealt with when we find an end-of-response line, as there might be
important stuff even after the correct line. So on subsequent invokes, the
cached data must be used!
2001-12-03 13:48:59 +00:00
Daniel Stenberg
7493db2338 Eric nailed a but in strnequal() for macintosh 2001-12-03 12:57:45 +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
2f03ef39d1 SM renamed the debug DLL 2001-12-02 12:09:00 +00:00
Daniel Stenberg
533c24a471 disabling EPSV is now possible 2001-11-29 12:49:10 +00:00
Daniel Stenberg
6a9697387a stdin is file descriptor 0 2001-11-29 12:48:08 +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
cfdcf5c933 fill memory with junk on malloc() 2001-11-28 23:19:17 +00:00
Daniel Stenberg
a32cd520bd more more more MORE 2001-11-28 16:00:18 +00:00
Daniel Stenberg
b93a60daf9 the perform "state machine" is more explained now 2001-11-28 15:46:25 +00:00
Daniel Stenberg
e2844f5e04 mods 2001-11-28 15:25:01 +00:00
Daniel Stenberg
f0d3fccd4b Added EPSV which is now unconditionally always tried before PASV, which
makes it work reaaaaly nicely on IPv6-enabled hosts!
Added SIZE before RETR is made, always done on downloads. It makes us know
the size prior to download much more frequently.
Unfortunately, this breaks all the FTP test cases. *fixfixfix*
2001-11-28 13:05:39 +00:00
Daniel Stenberg
aff19f64b5 use in_addr_t for inet_addr() return code. Now, now portable is this *REALLY*?
We should add some configure tests for this!
2001-11-28 12:16:52 +00:00
Daniel Stenberg
15a56b42d6 used in the new multi interface, not yet actually part of libcurl but
added to CVS to make them available to others
2001-11-28 11:09:18 +00:00
Daniel Stenberg
dccc77a325 Eric Lavigne updates 2001-11-27 07:27:32 +00:00
Daniel Stenberg
bbf80d0f93 commented out the EPSV support 2001-11-27 00:50:52 +00:00
Daniel Stenberg
6003f24f78 initial code added to support EPSV (IPv6-style PASV) 2001-11-27 00:48:45 +00:00
Daniel Stenberg
f0ee7115d3 Andrés García's minor fix to make it compile on win32 2001-11-23 09:04:56 +00:00
Daniel Stenberg
0e7203be89 this fix seems to make the connect fail properly even on IPv4-only Linux
machines!
2001-11-22 13:57:00 +00:00
Daniel Stenberg
1c8da21083 Eric fixed a wild write 2001-11-22 09:40:34 +00:00
Daniel Stenberg
8f304d8167 Eric found a missing comma!! 2001-11-22 09:39:03 +00:00
sm
30a0bd9cf5 Fixed release-ssl build 2001-11-22 00:12:48 +00:00
Daniel Stenberg
d1ea596f88 SM added connect.obj 2001-11-21 23:10:55 +00:00
Daniel Stenberg
17b18bca3c added error text for a failed connect case 2001-11-21 22:57:42 +00:00
Daniel Stenberg
ca0fd33d2d Georg Horn's STARTTRANSFER_TIME patch 2001-11-20 15:00:50 +00:00
Daniel Stenberg
b0130e6b3b use the ws2_32.lib now (Miklos Nemeth reporteD) 2001-11-19 20:09:02 +00:00
Daniel Stenberg
d0c1f3e25b long port => int port, as the c source uses! (Miklos Nemeth found this) 2001-11-19 20:08:01 +00:00
Daniel Stenberg
b244710ddb Miklos Nemeth pointed out the missing connect.obj 2001-11-19 20:06:29 +00:00
Daniel Stenberg
e6dd4a6456 Klevtsov Vadim's time condition fix 2001-11-16 11:21:50 +00:00
Sterling Hughes
8d62e21072 looks better on one line (testing the cvs diffing via mail, but I also think
this looks a bit better ;)
2001-11-15 14:16:13 +00:00
Daniel Stenberg
b8ff21124a Samuel Listopad's fix to allow global_init => global_cleanup => global_init
for ssl
2001-11-14 07:11:39 +00:00
Daniel Stenberg
6aafc2dfd2 corrected the ftp_getsize() usage, as the HPUX compiler warned on them 2001-11-13 12:46:29 +00:00
Daniel Stenberg
65b22480f4 uninitialized variable 2001-11-13 12:09:05 +00:00
Daniel Stenberg
c2479ccb7a my proxytunnel fix accidentally ruined the normal https connects 2001-11-13 08:34:24 +00:00
Daniel Stenberg
c7cdb0f266 make sure to "read out" the server reply even if we didn't get any data from
the server when that's the only error
2001-11-12 22:27:05 +00:00
Daniel Stenberg
92aedf850e made Curl_tvdiff round the diff better and make the subtraction before
the multiply to not wrap-around
2001-11-12 22:10:09 +00:00
Daniel Stenberg
05f3ca880f made CURLOPT_HTTPPROXYTUNNEL work for plain HTTP as well 2001-11-12 14:08:41 +00:00
Daniel Stenberg
a18d41a463 include setup.h 2001-11-12 10:19:36 +00:00
Daniel Stenberg
1affbff8f9 new Curl_ConnectHTTPProxyTunnel() function, needs a **lot** of testing!!! 2001-11-12 09:47:09 +00:00
Daniel Stenberg
c55d0bb804 We need at least one millisecond to calculate current speed with! I also
made the getinfo() stuff divide with 1000.0 now to enforce floating point
since Paul Harrington claims the 7.9.1 still uses even second resolution
in the timers there
2001-11-12 08:50:59 +00:00
Daniel Stenberg
0ffec712e1 Marcus Webster reported and fixed this read-one-byte-too-many problem... 2001-11-08 15:06:58 +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
2a0cde3041 adjusted after Ramana Mokkapati's comments 2001-11-07 09:39:49 +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
2f77b0a4c6 we can now tell ssl to use TLSv1 protocol, and we now use defines instead
of real integers for versions, the defines are added to curl.h
2001-11-05 14:06:42 +00:00
Daniel Stenberg
08ad385e0e Ramana Mokkapati did some good bug hunting, and we these fixes ldap transfers
should work a lot better!
2001-11-05 14:04:57 +00:00
Daniel Stenberg
5623e0bb0e corrected the Curl_tvnow prototype (-Wstrict-prototypes found it) 2001-11-05 12:37:22 +00:00
Daniel Stenberg
3d438d8d64 Curl_ftpsendf() had wrong return type 2001-11-05 12:24:21 +00:00
Daniel Stenberg
f5ba174f4d John Lask's new makefile 2001-11-05 11:56:26 +00:00
Daniel Stenberg
4163b86cd2 failf() now only overwrites the error buffer the first time it gets called
for each *_perform(). It makes things a lot easier, as the first one that
detects the error get to write the final error reason...
2001-11-02 22:30:34 +00:00
Daniel Stenberg
dc82f9e6df Replaced read() and write() with recv() and send() for socket operations
even under normal unixes.
2001-11-02 13:04:23 +00:00
Daniel Stenberg
c6caa9fd60 Added connect.c. I really need someone to better maintain this makefile... 2001-11-02 08:32:38 +00:00
Daniel Stenberg
c84ad40ccd Jörn added connect.c 2001-11-02 08:32: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
96fb118251 added comments and function headers 2001-11-01 12:47:22 +00:00
Daniel Stenberg
617d6eb7ce Update the byte counters in the loop so that aborted transfers have the
information as well. Improves debug outputs etc.
2001-11-01 12:18:53 +00:00
Daniel Stenberg
99888388dc Use Curl_tvdiff to compare times 2001-11-01 12:17:51 +00:00
Daniel Stenberg
027fc719cc fixed FTPSENDF for ipv6 compiles 2001-10-31 20:59:24 +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
542055074b If Curl_do() fails with CURLE_WRITE_ERROR on a re-used connection, this
new logic can retry the same operation on a new connection!
2001-10-31 15:13:19 +00:00
Daniel Stenberg
7b93348aae Curl_sendf now returns a CURLcode 2001-10-31 15:08:16 +00:00
Daniel Stenberg
eaf475b538 return type cleanup 2001-10-31 15:07:45 +00:00
Daniel Stenberg
4118c68df1 check Curl_ftpsendf return codes 2001-10-31 15:06:38 +00:00
Daniel Stenberg
69d5d88259 Added better checking of return codes when we send data to sockets/connections 2001-10-31 14:57:00 +00:00
Daniel Stenberg
7e6a36ea7b major commit, now we check the return code on every invoke of Curl_ftpsendf
- which now is made using a macro named FTPSENDF. I turned it all caps just
to make it more visible that it is in fact a macro.
2001-10-31 14:56:12 +00:00
Daniel Stenberg
6878c0b88f check return code when issuing the request 2001-10-31 14:48:10 +00:00
Daniel Stenberg
bbdc9f15e7 added typecasts to make the timers calculate with doubles, not longs as they
accidentally did after the Curl_tvdiff() interface change
2001-10-31 14:45:47 +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
6d35984286 prevent strdup()ing NULL -- Paul Harrington's report 2001-10-30 12:08:17 +00:00
Daniel Stenberg
c9954d1941 added curl_formadd 2001-10-29 13:28:44 +00:00
Daniel Stenberg
e165332211 minor fix to support multiple files in one formadd() call 2001-10-29 13:21:25 +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
3edd9b4dfc SM's waitconnect return code fix! 2001-10-29 07:49:57 +00:00
Daniel Stenberg
babb985f1a made 'timespent' a double, which makes more accurate calculations for quick
downloads
2001-10-26 11:25:03 +00:00
Daniel Stenberg
d733061873 bug report #474568 -
We need to set "no further data to download" before the Curl_ldap() function
returns, as otherwise it'll hang on that assumed transfer.
2001-10-25 08:28:29 +00:00
Daniel Stenberg
c6822f5a7f T. Bharath found this memory leak. It occurs when we replace an internally
already existing cookie with a new one.
2001-10-24 11:36:55 +00:00
Daniel Stenberg
4e276b1b68 pack_hostent() now aligns the data properly on 64bit boundaries to work on
more CPU architectures
2001-10-23 12:11:43 +00:00
Daniel Stenberg
b585f411cd make sure the connect can't return OK but return a NULL as addr 2001-10-22 12:52:25 +00:00
Daniel Stenberg
29b76a52fb failed transfers will now close the connection 2001-10-22 06:34:14 +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
74d5a6fb3b curl_easy_duphandle() now properly clones the cookie option
- patch by T. Bharath
2001-10-19 11:57:50 +00:00
Daniel Stenberg
45cc78fdbc CURLOPT_FAILONERROR now only returns error if the HTTP code is 400 or above
unconditionalliy. Previously, the code check was for >= 300 unless follow-
location was enabled...
2001-10-19 06:27:24 +00:00
Daniel Stenberg
010044e03c the malloc debug system only logs data if the logfile FILE * is set, which
makes it easier to disable debug output when built with debug functions
2001-10-17 12:33:35 +00:00
Daniel Stenberg
db0e3cc60c call Curl_done() in Curl_perform() after Transfer() was called, even it it
returned an error as there might be stuff in there we must free/cleanup.
This fixes the memory leak Yanick Pelletier posted about 16 Oct 2001
2001-10-17 12:24:51 +00:00
Daniel Stenberg
92abbcef4c Kevin Roth's cygwin adjustment 2001-10-16 07:59:43 +00:00
Daniel Stenberg
532bca41e5 Curl_tvdiff() now returns a millisecond diff, no double like before 2001-10-12 12:32:20 +00:00
Daniel Stenberg
b438c46764 progress meter fixes 2001-10-12 12:31:43 +00:00
Daniel Stenberg
ef48c73783 extensively commented source code, parts refreshened, the "current speed" is
now more accurate since it is based on actual spent time without the
assumptions from before
2001-10-12 12:31:06 +00:00
Daniel Stenberg
2c5e416591 better check for absolute URL redirects, adjusted to new Curl_tvdiff() proto 2001-10-12 12:30:06 +00:00
Sterling Hughes
8e91d5de8e looks nicer and is better compatible with older vim versions 2001-10-11 09:32:19 +00:00
Daniel Stenberg
f2a25966cf cookiejar now enables the cookie engine 2001-10-10 12:48:32 +00:00
Daniel Stenberg
a9181f8f00 added the option CURLOPT_HTTP_VERSION that can specify which HTTP version
libcurl should use in its request
2001-10-09 06:52:37 +00:00
Daniel Stenberg
3685f792cb ignore SIGPIPE, as that can be actually get sent when we write to a socket 2001-10-09 06:23:26 +00:00
Daniel Stenberg
7b5b60d275 hm, an unknown error from bind() when binding the outgoing socket would
failf("%d") without the error as argument... it would always make a weird
number get output
2001-10-08 06:56:00 +00:00
Daniel Stenberg
e719f4169c corrected cookie-jar comment 2001-10-08 06:43:22 +00:00
Daniel Stenberg
fdeaae678d SM's patch applied, we should not use arguments or variables that have the
same name as common functions...
2001-10-05 06:05:56 +00:00
sm
a27ac6f394 VC ID project now uses ws2_32.lib - fixes compile under win32 2001-10-05 02:29:47 +00:00
sm
093c0a098e Makefile.vc6 changed to include connect.c 2001-10-05 02:27:26 +00:00
Daniel Stenberg
47def8091c made sure the correct pieces of code are compiled on IPv4-only hosts, and
the pack_hostent() is only compiled if gethostbyname_r() isn't present.
2001-10-04 13:36:11 +00:00
Daniel Stenberg
5d9ae88f58 getaddrinfo() cleanups 2001-10-04 13:25:12 +00:00
Daniel Stenberg
9d066935e5 Keith McGuigan's excellent fix that makes a cloned copy of the hostent struct
for when gethostbyname() is used so that we have the memory of the struct
allocated. This turns out to be needed if the curl handled is passed between
threads on Windows and possibly other operating systems where we use that
function.
2001-10-03 21:42:04 +00:00
Daniel Stenberg
64f00454e5 hm, I edited away the fine functionality and with this edit test case 9
is once again running OK
2001-10-03 09:31:16 +00:00
Daniel Stenberg
66087bdac6 Georg Huettenegger's curl_formadd fixes 2001-10-03 07:54:42 +00:00
Daniel Stenberg
72dbe9da72 praise Bjorn Reese for mastering these dusty corners of socket hacking, now
we check for the error state before believing we are connected in IPv6
cases
2001-10-02 17:18:46 +00:00
Daniel Stenberg
dd02881788 added port number in informational connect message 2001-10-02 12:51:15 +00:00
Daniel Stenberg
ced8955325 IPv6 adjustments, connect()ing to bad ports still don't work properly for
IPv6
2001-10-02 11:26:53 +00:00
Daniel Stenberg
51ca5fcbe0 major connecting updates 2001-10-02 09:40:06 +00:00
Daniel Stenberg
56ff2aa059 pick the correct timeout before the connecthost call 2001-10-01 23:25:59 +00:00
Daniel Stenberg
9f77771ff9 faster bailout on timeouts 2001-10-01 23:25:26 +00:00
Daniel Stenberg
f0fa858885 added comment to the tvdiff 2001-10-01 22:50:20 +00:00
Daniel Stenberg
3298630500 removed warning 2001-10-01 22:50:03 +00:00
Daniel Stenberg
dc27488c47 corrected for IPv6 2001-10-01 22:42:46 +00:00
Daniel Stenberg
6918427fae conn->hp is now conn->hostaddr
changed the Curl_connethost() proto again
2001-10-01 22:32:37 +00:00
Daniel Stenberg
9d342bbf07 sessionhandle->hp => hostaddr 2001-10-01 22:31:43 +00:00
Daniel Stenberg
afc81ada0c renamed the stupid 'hp' to 'hostaddr' which actually says what it is 2001-10-01 22:31:10 +00:00
Daniel Stenberg
5cd267b2be removed obsoletetd myalarm() calls 2001-10-01 11:35:29 +00:00
Daniel Stenberg
09da90076f moved the myalarm() usage, and now makes sure to switch it off after the
name resolving, as that should be the *ONLY* section in libcurl that may
take a while in a synchronous call.
2001-10-01 11:27:39 +00:00
Daniel Stenberg
d0079d9054 fixed the connecthost proto: added the timeout argument 2001-10-01 11:26:21 +00:00
Daniel Stenberg
ede5b54edc corrected the #include files 2001-10-01 11:25:27 +00:00
Daniel Stenberg
c5fdeef41d introduced non-blocking connects 2001-10-01 08:59:17 +00:00
Daniel Stenberg
e9aa07f660 filetime should be -1 if the remote time was unknown as 0 is actually a
valid time. we now store the filetime as a long to know for sure it can
hold -1 (there exist some unsigned time_t cases)
2001-09-28 11:04:43 +00:00
Daniel Stenberg
88e21894c7 improved readability slightly 2001-09-28 09:25:59 +00:00
Daniel Stenberg
09da2c1767 fixed the missing getftpresponse edits 2001-09-28 09:19:35 +00:00
Daniel Stenberg
ae2ecfc5cb removed the socket argument from some functions that always passed in the
same socket and it was available from the passed-in struct anyway!
2001-09-28 09:15:19 +00:00
Daniel Stenberg
cc610f0d1f now compiles warning-free when IPv6-enabled 2001-09-28 09:02:57 +00:00
Daniel Stenberg
8333644c84 moved the PORT and PASV code into separate smaller functions for readability
renamed all static ^_ftp_* functions to ^ftp_, prefixing with underscore is
not nice
2001-09-28 08:58:18 +00:00
Daniel Stenberg
4d13b2cc64 more ipv6 cleanups to make smaller functions that are easier to read 2001-09-28 07:46:39 +00:00
Daniel Stenberg
48dc74aecc more transparant support for IPv6 name resolving 2001-09-28 07:05:26 +00:00
Daniel Stenberg
598e8dfbfb Now we're setting a default domain for received cookies so that we can
properly match those cookies in subsequent requests
2001-09-26 07:08:29 +00:00
Daniel Stenberg
8d16b2b119 winsock 2 fixes 2001-09-25 07:55:19 +00:00
Daniel Stenberg
711650b178 test 119 proved a memory leak in the FTP parts when IPv6 is enabled and the
RETR fails, this corrects it.
2001-09-23 12:47:07 +00:00
Daniel Stenberg
645413f5ef Lots of praise and glory to Vojtech Minarik for setting up a test server
and providing me with test-certificates that helped me nail the problem with
curl not discovering with a bad certificate was used.
2001-09-19 21:49:11 +00:00
Daniel Stenberg
b556d6caee fixed bug report #462600, following a Location: when the initial URL didn't
have a protocol:// part did wrong
2001-09-18 18:33:25 +00:00
Daniel Stenberg
a17a78c477 removed Curl_http_close() 2001-09-18 15:30:59 +00:00
Daniel Stenberg
146413a53c the stuff formerly done in Curl_http_close is now done in Curl_close 2001-09-18 15:30:38 +00:00
Daniel Stenberg
437fd064c9 modified GetLine(), removed Curl_http_close() 2001-09-18 15:29:57 +00:00
Daniel Stenberg
d816fcc965 Linus Nielsen Feltzing changed winsock lib for linking 2001-09-17 14:38:41 +00:00
Daniel Stenberg
e30dcd0501 Linus Nielsen Feltzing's telnet-for-win32 fixes 2001-09-17 14:10:38 +00:00
Daniel Stenberg
0e25cf41c4 modified error message when PWD fails 2001-09-14 12:18:46 +00:00
Daniel Stenberg
aa4ff6d8b9 Added curl_easy_duphandle 2001-09-13 14:49:35 +00:00
Daniel Stenberg
6d5b8b50e1 minor informatinal output changes 2001-09-13 12:52:58 +00:00
Daniel Stenberg
2cb893575d moved a 100K buffer from the transfer loop to the urlstate struct, as it
seriously decreases the amount of used stack space
2001-09-12 12:02:12 +00:00
Daniel Stenberg
36e9507e29 reverted. twas no memory leak and the "fix" didn't even compile on windows... 2001-09-12 08:59:00 +00:00
Daniel Stenberg
1fde1431c9 narrowed some source lines to fit in 80 cols 2001-09-12 08:14:35 +00:00
Daniel Stenberg
bec97a0999 ConnectionKillOne() _can_ return -1 as an indication of error
This is T. Bharath's fix
2001-09-12 08:00:30 +00:00
Daniel Stenberg
07de3c9df0 T. Bharath's patch that sets up a few necessary buffers in the duphandle()
function
2001-09-12 07:57:33 +00:00
Daniel Stenberg
8950a2dfa1 *TERRIBLE* terrible memory leak occuring on all systems that have no
gethostbyname_r() function, most notably windows machines...
2001-09-12 07:19:11 +00:00
Daniel Stenberg
a2c78607a6 CURLOPT_SSL_CIPHER_LIST support 2001-09-11 22:23:16 +00:00
Daniel Stenberg
cc1a4edf3d added cipher_list 2001-09-11 22:21:26 +00:00
Daniel Stenberg
db7bde1d7a added ability to set prefered list of ciphers 2001-09-11 22:21:02 +00:00
Daniel Stenberg
894b47da9b ouputs the start and expire dates of the server certificate on verbose
output
2001-09-11 10:00:49 +00:00
Daniel Stenberg
3f5227dfc7 Curl_cookie_output() must check that there's a cookie struct present before
trying to address it!
2001-09-10 07:43:08 +00:00
Daniel Stenberg
46372c04ee made it compile properly when not building with SSL support 2001-09-07 09:40:46 +00:00
Sterling Hughes
6147879837 Added formatting sections for emacs and vim 2001-09-07 04:01:32 +00:00
Sterling Hughes
e2e3c95d3b fix for emacs 2001-09-07 03:30:30 +00:00
Daniel Stenberg
c3b448dcea moved the session ID cache state variables into the UrlState struct within
the SessionHandle. It was previously wrongly put in UserDefined
2001-09-06 08:32:01 +00:00
Daniel Stenberg
86da31e031 Curl_SSL_Close_All() now checks that we have a session cache before we run
around killing entries in it!
2001-09-06 06:26:24 +00:00
Daniel Stenberg
610ec27d93 first shaky and stumbling attempts at a *_duphandle() function 2001-09-05 07:24:01 +00:00
Sterling Hughes
08238f4320 Fix formatting when tabs and spaces got mixed up (if tabstop was not set to
8 this looked quite funny :)

Added a small formatting section for vim at the bottom, it also contains an
emacs portion (copied it from another project I'm working on), I don't know
if this is correct, but its a step (the vim part is correct :)
2001-09-05 02:49:04 +00:00
Daniel Stenberg
144459d364 corrected the comment to be valid chunk format 2001-09-03 12:51:23 +00:00
Daniel Stenberg
bae1a75731 use the LIBCURL_NAME instead of the "hardcoded" string 2001-09-03 07:01:49 +00:00
Daniel Stenberg
67df4c9e6c removed unused #defines 2001-09-01 10:20:12 +00:00
Daniel Stenberg
47e7a3e678 a few more struct fixes 2001-08-30 22:59:58 +00:00
Daniel Stenberg
0ece1b5c34 Major rename and redesign of the internal "backbone" structs. Details will
be posted in a minute to the libcurl list.
2001-08-30 22:48:34 +00:00
Daniel Stenberg
26983053c4 take port numbers into account when finding a previous session from the
cache
2001-08-29 09:36:41 +00:00
Daniel Stenberg
a2b6ef3478 cookie jar adjustments 2001-08-29 09:32:18 +00:00
Daniel Stenberg
94bf462473 up'ed the version-info 2001-08-28 08:58:27 +00:00
Daniel Stenberg
725bd1dddf Georg Huettenegger's fixes and improvements to curl_formadd() 2001-08-28 08:54:33 +00:00
Daniel Stenberg
9835629801 Georg Huettenegger added code to deal with error 417 when doing form posts.
NOTE: we might do this for *ALL* errors when doing form posts.
2001-08-28 08:54:09 +00:00
Daniel Stenberg
3c52c53ddd Added SSL session ID caching, moved some SSL code from url.c to ssluse.c 2001-08-28 08:37:54 +00:00
Sterling Hughes
321ba15a82 we should be using start here. 2001-08-26 20:51:16 +00:00
Daniel Stenberg
9e5dfc15ac improved the test 2001-08-26 14:28:05 +00:00
Daniel Stenberg
8d52681e1d Added #include <string.h> and removed a silly mistakenly added , 2001-08-26 14:27:07 +00:00
Daniel Stenberg
56f6815d3d rewrite to work around BSD announcement license issues, this is also
somewhat easier to understand if I may say so. It is slightly slower.
2001-08-24 10:25:02 +00:00
Daniel Stenberg
723ced9336 T. Bharath's patch => linking with multithreaded versions of the c runtime
library for use in multithreaded apps
2001-08-24 07:45:16 +00:00
Daniel Stenberg
f4e2774ab8 newly re-generated from the modified getdate.y 2001-08-24 07:41:51 +00:00
Daniel Stenberg
d5112c0dec include setup.h properly, not config.h 2001-08-24 07:39:50 +00:00
Daniel Stenberg
aace68c91b extern declarations no longer done on windows (T. Bharath's patch) 2001-08-24 07:39:15 +00:00
Daniel Stenberg
4034f31823 cleanups 2001-08-24 07:24:34 +00:00
Daniel Stenberg
3aae2ec511 Tim Costello's bug report #454856 2001-08-24 06:31:34 +00:00
Daniel Stenberg
df09214c62 strcasecmp() is banned from our code, should be strequal() everywhere!
Tim Costello reported bug report #454858.
2001-08-24 06:20:47 +00:00
Daniel Stenberg
12acab9b86 When setting *_URL or *_PROXY in *_setopt(), it is important that we check
and possibly free the existing pointer first, and then clear the "allocated"
bit. We previously mistakenly could free the new pointer passed to us by
the friendly user...!
2001-08-23 14:06:38 +00:00
Daniel Stenberg
c9c2115088 started working on a function for writing (all) cookies, made it possible
to read multiple cookie files, no longer writes to the URL string passed
to the _add() function. The new stuff is now conditionally compiled on the
COOKIE define. Changed the _init() proto.
2001-08-23 14:05:25 +00:00
Daniel Stenberg
3fb9c5727c As Steve Lhomme pointed out, this generates 'libcurl.dll' now instead of
the previous 'curl.dll'
2001-08-23 11:06:10 +00:00
Daniel Stenberg
83a8786fe1 I want Sterling to be my friend, so I wasted some time on splitting up the
huge monster function _ftp() into more little functions. There are still
more that can be done, but this is at least improving readability and
maintainability... :-)
2001-08-23 06:10:01 +00:00
Daniel Stenberg
0f425b01aa CURLOPT_FTPASCII is the old name, CURLOPT_TRANSFERTEXT is the new 2001-08-22 11:24:57 +00:00
Daniel Stenberg
08655d8d5d Georg Huettenegger's patch curl-7.8.1-pre5-patch-20010819 2001-08-21 13:18:07 +00:00
Daniel Stenberg
d5fbfa3d0b As Andrés García reported we need to fflush() the data->err so that the
progress meter looks better on windows (and if the data->err is redirected
from stderr it also makes a point)
2001-08-21 06:29:56 +00:00
Daniel Stenberg
a1cec0e49a Albert Chin's neat configure/package fixes 2001-08-20 07:10:28 +00:00
Sterling Hughes
1d3542a38f <couldn't resist>
Use a more appropriate variable name
</couldn't resist>
2001-08-18 02:42:23 +00:00
Daniel Stenberg
429b09ee04 Curl_ prefix added to a few function calls 2001-08-17 10:24:59 +00:00
Daniel Stenberg
6c2a9009e9 include getinfo.h for Curl_getinfo() proto 2001-08-17 10:19:26 +00:00
Daniel Stenberg
1b00298b52 modified to use the renamed kerberos functions with Curl_ prefix 2001-08-17 10:14:06 +00:00
Daniel Stenberg
5ad4a52281 Added two fields in the connectdata struct for kerberos fiddles 2001-08-17 10:13:32 +00:00
Daniel Stenberg
db5e67e34a use the Curl_ name space
removed unused code
removed use of global variable(s)
2001-08-17 10:12:51 +00:00
Daniel Stenberg
a2688b6ca1 removed dead/unused code
removed use of global variables
removed name space pollutions (added Curl_ prefixes)
2001-08-17 10:11:46 +00:00
Daniel Stenberg
ceb8f1cb22 Curl_ prefix 2001-08-17 10:10:15 +00:00
Daniel Stenberg
a7a3d49996 cleaned up rewrite 2001-08-17 10:02:34 +00:00
Daniel Stenberg
9ce94207e2 IPv6-addresses can have dots too! 2001-08-15 21:54:24 +00:00
Daniel Stenberg
9518e06413 extract IPv6-style specified IP-addresses properly 2001-08-15 21:40:09 +00:00
Daniel Stenberg
aa21e42d5b const fixes 2001-08-15 18:42:17 +00:00