summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'multi2' into multi-alwaysmulti-alwaysDaniel Stenberg2012-12-111642-0/+291934
|\
| * Curl_getconnectinfo: fixed to work with always-multiDaniel Stenberg2012-12-114-110/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make sure CURLINFO_LASTSOCKET works and curl_easy_recv() etc when the connection cache is now always in the multi handle that the easy handle doesn't have a strong connection to anymore, the code now searches for the last used connection in the last used multi handle to see if it is still there and then gets the socket from there. This makes CURLINFO_LASTSOCKET only work if curl_easy_perform() has been used on an easy handle, but that was always how the feature was documented. As a result of this restructure, I've created multihandle.h which now has the multi handle struct and related stuff defined so that more files than multi.c can use it.
| * Curl_conncache_foreach: allow callback to break loopDaniel Stenberg2012-12-112-4/+9
| | | | | | | | ... and have it take a proper 'struct connectdata *' as first argument
| * lib556: enable VERBOSE to ease debugging on failuresDaniel Stenberg2012-12-111-0/+1
| |
| * test506: update the share locking sequenceDaniel Stenberg2012-12-111-40/+34
| | | | | | | | With 'multi-always-internally' the locking sequence is different
| * curl_easy_perform: only access 'still_running' if OKDaniel Stenberg2012-12-111-1/+2
| |
| * internals: always use multi interface internallyDaniel Stenberg2012-12-115-118/+61
| | | | | | | | | | | | | | curl_easy_perform() is now just a wrapper-function that uses multi functions to achieve its functionality. All internals are all non-blocking and multi interface friendly. No more two different behaviors depending on which interface that is used.
| * examples/simplessl.c: fix compiler warningYang Tse2012-12-111-2/+3
| |
| * examples/externalsocket.c: fix SunPro compilation issueYang Tse2012-12-101-0/+4
| |
| * examples/simplessl.c: fix compiler warningYang Tse2012-12-101-2/+2
| |
| * build: add bundles and conncache files to other build systemsYang Tse2012-12-102-3/+5
| |
| * conncache: fix enumerated type mixed with another typeYang Tse2012-12-102-9/+11
| |
| * examples/anyauthput.c: fix Tru64 compilation issueYang Tse2012-12-101-2/+2
| |
| * configure: fix cross pkg-config detectionColin Watson2012-12-081-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cross-compiling, CURL_CHECK_PKGCONFIG was checking for the cross pkg-config using ${host}-pkg-config. The gold standard for doing this correctly is pkg-config's own macro, PKG_PROG_PKG_CONFIG. However, on the assumption that you have a good reason not to use that directly (reduced dependencies for maintainer builds?), the behaviour of cURL's version should at least match. PKG_PROG_PKG_CONFIG uses AC_PATH_TOOL, which ultimately ends up trying ${host_alias}-pkg-config; this is not quite the same as what cURL does, and may differ because ${host} has been run through config.sub. For instance, when cross-building to the armhf architecture on Ubuntu, ${host_alias} is arm-linux-gnueabihf while ${host} is arm-unknown-linux-gnueabihf. This may also have been the cause of the problem reported at http://curl.haxx.se/mail/lib-2012-04/0224.html. AC_PATH_TOOL is significantly simpler than cURL's current code, and dates back to well before the current minimum of Autoconf 2.57, so let's use it instead.
| * Introducing a new persistent connection caching system using "bundles".Linus Nielsen Feltzing2012-12-0714-773/+894
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bundle is a list of all persistent connections to the same host. The connection cache consists of a hash of bundles, with the hostname as the key. The benefits may not be obvious, but they are two: 1) Faster search for connections to reuse, since the hash lookup only finds connections to the host in question. 2) It lays out the groundworks for an upcoming patch, which will introduce multiple HTTP pipelines. This patch also removes the awkward list of "closure handles", which were needed to send QUIT commands to the FTP server when closing a connection. Now we allocate a separate closure handle and use that one to close all connections. This has been tested in a live system for a few weeks, and of course passes the test suite.
| * runtests and friends: Do not add undefined values to @INCFabian Keil2012-12-067-7/+14
| | | | | | | | | | On FreeBSD this fixes the warning: Use of uninitialized value $p in string eq at /usr/local/lib/perl5/5.14.2/BSDPAN/BSDPAN.pm line 36.
| * Merge pull request #52 from isn-/masterSteve Holme2012-12-051-0/+4
| |\ | | | | | | small compilation fix
| | * build: fix compilation with CURL_DISABLE_CRYPTO_AUTH flagStanislav Ivochkin2012-12-051-0/+4
| | |
| * | libtest: fix some compiler warningsYang Tse2012-12-056-18/+44
| | |
| * | examples: fix compilation issues - commit 7332a7cafb follow-upYang Tse2012-12-052-11/+11
| |/
| * examples: fix compilation issues - commit 23f8dca6fb follow-upYang Tse2012-12-053-7/+13
| |
| * examples: fix compilation issuesYang Tse2012-12-053-8/+12
| |
| * build: explain current role of LIBS in our Makefile.am filesYang Tse2012-12-047-13/+13
| | | | | | | | | | | | | | BLANK_AT_MAKETIME may be used in our Makefile.am files to blank LIBS variable used in generated makefile at makefile processing time. Doing this functionally prevents LIBS from being used for all link targets in given makefile.
| * multi: fix re-sending request on early connection closeDaniel Stenberg2012-12-041-14/+31
| | | | | | | | | | | | | | | | | | This handling already works with the easy-interface code. When a request is sent on a re-used connection that gets closed by the server at the same time as the request is sent, the situation may occur so that we can send the request and we discover the broken connection as a RECV_ERROR in the PERFORM state and then the request needs to be retried on a fresh connection. Test 64 broke with 'multi-always-internally'.
| * configure: add minimal sanity check on user provided LIBS and LDFLAGSYang Tse2012-12-041-13/+33
| |
| * build: prevent global LIBS from influencing src and lib build targetsYang Tse2012-12-036-140/+153
| | | | | | | | Currently, LIBS is already used through other macros.
| * nss: prevent NSS from crashing on client auth hook failureKamil Dudka2012-12-032-8/+13
| | | | | | | | | | | | | | | | | | | | Although it is not explicitly stated in the documentation, NSS uses *pRetCert and *pRetKey even if the client authentication hook returns a failure. Namely, if we destroy *pRetCert without clearing *pRetCert afterwards, NSS destroys the certificate once again, which causes a double free. Reported by: Bob Relyea
| * testcurl.pl: build example programs for several autobuildsYang Tse2012-11-301-1/+21
| | | | | | | | Affected autobuilds: IRIX, AIX, Tru64 and AIX.
| * build: prevent global LIBS from influencing examples build targetsYang Tse2012-11-301-2/+11
| |
| * build: prevent global LIBS from influencing libtest build targetsYang Tse2012-11-303-27/+40
| |
| * build: prevent global LIBS from influencing test server build targetsYang Tse2012-11-292-0/+11
| |
| * build: fix Windows build targets damaged since commit 550e403f00Yang Tse2012-11-282-2/+2
| |
| * build: avoid linkage of directly unused librariesYang Tse2012-11-285-16/+43
| |
| * dd missing NTLM feature for tests 2025, and 2028 to 2032Yang Tse2012-11-276-0/+18
| |
| * avoid mixing of enumerated type with another typeYang Tse2012-11-266-70/+66
| |
| * multi.c: disambiguate precedence of bitwise and relational operationYang Tse2012-11-261-4/+7
| |
| * Remove stray CRLF in chunk-encoded content-free request bodiesFabian Keil2012-11-263-8/+10
| | | | | | | | | | | | | | | | .. that are sent when auth-negotiating before a chunked upload or when setting the 'Transfer-Encoding: chunked' header and intentionally sending no content. Adjust test565 and test1333 accordingly.
| * FAQ: clarify the 3.4 sectionDaniel Stenberg2012-11-251-3/+4
| | | | | | | | | | You can do custom commands to FTP without sending anything by using the CURLOPT_NOBODY, which -I sets.
| * examples: Updated asiohiper.cpp to remove connect from opensocketLijo Antony2012-11-251-36/+23
| | | | | | | | | | | | | | Blocking connect on the socket has been removed from opensocket callback. opensocket just opens a new socket and gives it back to libcurl and libcurl will take care of the connect. sockopt_callback has also been removed, as it is no longer required.
| * build: fix AIX compilation and usageYang Tse2012-11-234-2/+54
| | | | | | | | | | | | | | | | AIX sys/poll.h header file defines 'events' and 'revents' as C preprocessor macros. Usage of these literals in libcurl's external API was introduced in commit de24d7bd4c causing AIX build failures. Appropriate inclusion of sys/poll.h by libcurl's external interface fixes AIX build and usage issues while avoiding a SONAME bump.
| * DOCS: Updated CURLOPT_CONNECT_ONLY to reflect usage in other protocolsSteve Holme2012-11-231-4/+5
| |
| * test: offer "automake" output and check for perl betterDaniel Stenberg2012-11-233-38/+57
| | | | | | | | | | | | | | | | | | | | | | runtests.pl -am now uses the "PASS/FAIL: [desc]" output for each executed test. You can run 'make test-am' in the root build directory to invoke that. The reason for this output style is to better allow generic test suite parsers to also grok our test output. The test Makefile now also tests that perl was indeed found and that the PERL variable points to an executable before it tries to run the main test perl script runtests.pl,
| * Test 206: Use a Content-Length header for the 407 responseFabian Keil2012-11-211-0/+2
| | | | | | | | Otherwise curl would have to guess where the body ends.
| * Test 206: Don't respond to a succesful CONNECT request with a bodyFabian Keil2012-11-211-1/+0
| | | | | | | | | | | | It's against the spec and caused test failures when header and response were read from the network separately in which case bug #39 wasn't triggered.
| * htmltitle: use .cpp extension for C++ examplesDaniel Stenberg2012-11-212-1/+1
| |
| * examples: Added a c++ example of using multi with boost::asioLijo Antony2012-11-212-1/+468
| | | | | | | | | | Added an example for demonstrating the usage of curl multi interface with boost::asio in c++
| * VC Makefiles: add missing hostcheckDaniel Stenberg2012-11-211-0/+1
| | | | | | | | | | | | | | the newly introduced hostcheck.h/c is missing in the Visual Studio Makefiles as obj file. Bug: http://curl.haxx.se/mail/lib-2012-11/0176.html
| * compiler warning fixesDaniel Stenberg2012-11-201-2/+2
| | | | | | | | The conversions from ssize_t to int need to be typecasted.
| * bump: start working on 7.28.2Daniel Stenberg2012-11-202-66/+10
| |
| * THANKS: added 14 contributors from the 7.28.1 releaseDaniel Stenberg2012-11-201-0/+14
| |