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

259 Commits

Author SHA1 Message Date
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 Bjrn Stenberg, makes proxy transfers work better...! :-) 2001-12-20 15:58:22 +00:00
Daniel Stenberg
af6c394785 Gtz 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
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
5d9ae88f58 getaddrinfo() cleanups 2001-10-04 13:25:12 +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
6918427fae conn->hp is now conn->hostaddr
changed the Curl_connethost() proto again
2001-10-01 22:32:37 +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
c5fdeef41d introduced non-blocking connects 2001-10-01 08:59:17 +00:00
Daniel Stenberg
48dc74aecc more transparant support for IPv6 name resolving 2001-09-28 07:05:26 +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
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
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
a2c78607a6 CURLOPT_SSL_CIPHER_LIST support 2001-09-11 22:23:16 +00:00
Sterling Hughes
6147879837 Added formatting sections for emacs and vim 2001-09-07 04:01:32 +00:00
Daniel Stenberg
bae1a75731 use the LIBCURL_NAME instead of the "hardcoded" string 2001-09-03 07:01:49 +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
a2b6ef3478 cookie jar adjustments 2001-08-29 09:32:18 +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
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
0f425b01aa CURLOPT_FTPASCII is the old name, CURLOPT_TRANSFERTEXT is the new 2001-08-22 11:24:57 +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
10ab082188 non-public functions should not use CURL * as arguments, so I changed them
to use 'struct UrlData *' instead
2001-08-15 06:55:42 +00:00
Daniel Stenberg
616d8eda41 Curl_open() only take one argument now,
Curl_ldap_done() and Curl_dict_done() were removed,
compiler warnings corrected
2001-08-14 08:40:06 +00:00
Daniel Stenberg
95837043e2 Patrick Bihan-Faou introduced CURLOPT_SSL_VERIFYHOST and code to deal with
it.
2001-08-08 07:16:47 +00:00
Daniel Stenberg
7948b0becc VMS #include fixes,
file:// URL treatment improvements
2001-08-06 12:14:53 +00:00
Daniel Stenberg
5ab1a10e9c corrected the comment for CURLOPT_WRITEHEADER in setopt(), and made it
read a void * and not a FILE *, as that was how it used to work and not
anymore...
2001-08-06 08:18:15 +00:00
Daniel Stenberg
8987244758 httpreq cleanup fix 2001-08-03 11:52:53 +00:00
Daniel Stenberg
9a78db6e59 Salvador Dvila's ftp range download fix 2001-06-12 09:21:37 +00:00
Daniel Stenberg
5e326014cd SDavila posted a fix that sets conn->bits.use_range properly when doing
resumed downloads
2001-06-07 05:59:20 +00:00
Daniel Stenberg
fe82ddda46 CURLOPT_MUTE and data->bits.mute are history, removed, gone! 2001-05-31 13:50:28 +00:00
Daniel Stenberg
ffa7c13117 libcurl now has MUTE and NOPROGRESS set by default 2001-05-30 12:51:24 +00:00
Daniel Stenberg
870bacd689 include strtok.h to get the prototype 2001-05-30 11:06:56 +00:00
Daniel Stenberg
d567659bf4 strtok() replaced with strtok_r() 2001-05-29 19:17:39 +00:00
Daniel Stenberg
d300cf4d84 T. Bharath's comments about SSL cleanup incorporated, and the two new
curl_global_* functions
2001-05-28 14:12:43 +00:00
Daniel Stenberg
8526fa97ce Pawel A. Gajda fixed resumed transfers on persistent connections 2001-05-15 07:21:13 +00:00
Daniel Stenberg
282939c6fe another multiple FTP transfer fix 2001-05-11 06:40:04 +00:00
Daniel Stenberg
fef1fc0d32 Ingo Wilken's redirect fixes 2001-05-11 06:10:48 +00:00
Daniel Stenberg
7be8993f94 When re-using a connection, the path pointers were not setup properly so
that multiple FTP transfers were not possible
2001-05-10 09:31:48 +00:00
Daniel Stenberg
9304055df5 'FILE *' changed to 'void *' in all callback functions 2001-05-04 07:47:11 +00:00
Daniel Stenberg
350c536f6c Cris Bailiff's fix to disable chunked transfers on re-used persistent
connections.
2001-05-03 10:53:01 +00:00
Daniel Stenberg
3974f30ed4 improved treatment of "Content-Length: 0", which is done by having
maxdownload set to -1 when not used
2001-04-27 08:02:10 +00:00
Daniel Stenberg
583c2e2f09 connection re-using didn't work on non-default ports when not using proxy
until now
2001-04-25 21:24:27 +00:00
Daniel Stenberg
fde31f0988 no need to copy the name when re-using the connection, we already have the
same name in that buffer from the URL parsing!
2001-04-23 06:11:08 +00:00
Daniel Stenberg
2cf26d4fb7 copy the name properly when re-using a connection 2001-04-22 16:47:55 +00:00
Daniel Stenberg
3fd65fb7d8 Remade resume stuff to keep data in the connectdata struct instead of the
main handle struct to work with persistant connections
2001-04-18 07:25:11 +00:00
Daniel Stenberg
18f044f19d we don't use the HTTP_PROXY environment variable in uppercase anymore, since
it might become a security problem (Bugs item #415391)
2001-04-11 14:13:52 +00:00
Daniel Stenberg
62056a644f oops, missed the shut-off non-blocking fix 2001-04-11 06:59:00 +00:00
Daniel Stenberg
022099266e SM made the connection timeout work for windows boxes! 2001-04-11 06:41:54 +00:00
Daniel Stenberg
90bb87b40e setopt() works with the new CURLOPT_HEADERFUNCTION: 2001-04-10 06:51:25 +00:00
Daniel Stenberg
28497e7ee4 better error checks for failure conditions (based on Puneet Pawaia's reports) 2001-04-03 10:20:23 +00:00