Yang Tse [Fri, 28 Dec 2012 11:40:20 +0000 (12:40 +0100)]
build: make use of 76 lib/*.h renamed files
76 private header files renamed to use our standard naming scheme.
This change affects 322 files in libcurl's source tree.
Yang Tse [Fri, 28 Dec 2012 11:03:09 +0000 (12:03 +0100)]
lib/*.h: use our standard naming scheme for header inclusion guards
Steve Holme [Fri, 28 Dec 2012 14:49:30 +0000 (14:49 +0000)]
imsp.c: Fixed usernames and passwords that contain escape characters
Fixed a problem with sending usernames and passwords that contain
backslash, quotation mark and space characters.
Daniel Stenberg [Thu, 27 Dec 2012 22:33:14 +0000 (23:33 +0100)]
curl.1: extend the -X, --request description
Daniel Stenberg [Thu, 27 Dec 2012 19:15:07 +0000 (20:15 +0100)]
RELEASE-NOTES: synced with
e3ed2b82e6
Nick Zitzmann [Thu, 27 Dec 2012 01:29:50 +0000 (17:29 -0800)]
darwinssl: Fixed inability to disable peer verification
... on Snow Leopard and Lion
Snow Leopard introduced the SSLSetSessionOption() function, but it
doesn't disable peer verification as expected on Snow Leopard or
Lion (it works as expected in Mountain Lion). So we now use sysctl()
to detect whether or not the user is using Snow Leopard or Lion,
and if that's the case, then we now use the deprecated
SSLSetEnableCertVerify() function instead to disable peer verification.
Yang Tse [Wed, 26 Dec 2012 22:34:41 +0000 (23:34 +0100)]
curl tool: rename hugehelp files to tool_hugehelp
Yang Tse [Wed, 26 Dec 2012 22:30:54 +0000 (23:30 +0100)]
curl tool: renaming hugehelp files to tool_hugehelp
Yang Tse [Wed, 26 Dec 2012 19:03:35 +0000 (20:03 +0100)]
sockfilt.c: commit
b44da5a82a follow-up 2
Yang Tse [Wed, 26 Dec 2012 18:30:22 +0000 (19:30 +0100)]
sockfilt.c: commit
b44da5a82a follow-up
Yang Tse [Wed, 26 Dec 2012 16:17:52 +0000 (17:17 +0100)]
sockfilt.c: fix some compiler warnings
Yang Tse [Wed, 26 Dec 2012 05:00:59 +0000 (06:00 +0100)]
curl_multi_remove_handle: commit
0aabfd9963 follow-up
Daniel Stenberg [Sun, 2 Dec 2012 10:17:12 +0000 (11:17 +0100)]
lib556: enable VERBOSE to ease debugging on failures
Marc Hoersken [Tue, 25 Dec 2012 14:18:01 +0000 (15:18 +0100)]
socklift.c: Quick fix to re-add missing code
Marc Hoersken [Tue, 25 Dec 2012 14:15:24 +0000 (15:15 +0100)]
socklift.c: Added select_ws function to support Windows
WinSock select() does not support standard file descriptors,
it can only check SOCKETs. The following function is an attempt
to create a select() function with support for other handles.
Yang Tse [Tue, 25 Dec 2012 12:32:47 +0000 (13:32 +0100)]
Enable tests 1503, 1504 and 1505
Yang Tse [Tue, 25 Dec 2012 12:31:26 +0000 (13:31 +0100)]
curl_multi_remove_handle: fix memory leak triggered with CURLOPT_RESOLVE
Yang Tse [Tue, 25 Dec 2012 12:30:41 +0000 (13:30 +0100)]
Curl_hash_clean: OOM handling fix
Yang Tse [Mon, 24 Dec 2012 13:04:34 +0000 (14:04 +0100)]
test 1504 and 1505: same as 1502 but with different cleanup sequences
Daniel Stenberg [Tue, 11 Dec 2012 19:13:29 +0000 (20:13 +0100)]
Curl_conncache_foreach: allow callback to break loop
... and have it take a proper 'struct connectdata *' as first argument
Daniel Stenberg [Sat, 15 Dec 2012 14:31:38 +0000 (15:31 +0100)]
pop3_doing: don't call pop3_dophase_done() if already failed
... it also clobbered the 'result' return value so that it wouldn't
return the error back to the parent function properly, which broke test
809 when run with 'multi-always'.
Yang Tse [Sun, 23 Dec 2012 20:33:26 +0000 (21:33 +0100)]
test 1503: same as 1502 but with a different cleanup sequence
Yang Tse [Sun, 23 Dec 2012 20:22:03 +0000 (21:22 +0100)]
test 1502: OOM handling fixes
Yang Tse [Sun, 23 Dec 2012 20:10:45 +0000 (21:10 +0100)]
curl_multi_wait: OOM handling fix
Daniel Stenberg [Sun, 23 Dec 2012 20:06:40 +0000 (21:06 +0100)]
curl_multi_wait: avoid an unnecessary memory allocation
Yang Tse [Fri, 21 Dec 2012 23:26:03 +0000 (00:26 +0100)]
runtests.pl: prepend $srcdir to HTTPTLS server config files path
Yang Tse [Fri, 21 Dec 2012 18:48:07 +0000 (19:48 +0100)]
multi.c: OOM handling fix
Yang Tse [Fri, 21 Dec 2012 17:32:20 +0000 (18:32 +0100)]
lib543.c: OOM handling fixes
Yang Tse [Fri, 21 Dec 2012 16:26:19 +0000 (17:26 +0100)]
configure: add internal sanity check (warn only) on vars for makefiles
Daniel Stenberg [Fri, 21 Dec 2012 13:38:33 +0000 (14:38 +0100)]
SCP: relative path didn't work
When prefixing a path with /~/ it is supposed to be used relative to the
user's home directory but it didn't work. Now we cut off the entire
three byte sequenct "/~/" which seems to be how OpenSSH does it.
Bug: http://curl.haxx.se/bug/view.cgi?id=1173
Reported by: Balaji Parasuram
Yang Tse [Fri, 21 Dec 2012 12:00:00 +0000 (13:00 +0100)]
configure: LIBMETALINK_CFLAGS actually is LIBMETALINK_CPPFLAGS
Yang Tse [Thu, 20 Dec 2012 16:13:21 +0000 (17:13 +0100)]
configure: add minimal sanity check on user provided CFLAGS and CPPFLAGS
Yang Tse [Wed, 19 Dec 2012 18:52:11 +0000 (19:52 +0100)]
bundles connection caching: some out of memory handling fixes
Yang Tse [Wed, 19 Dec 2012 18:51:20 +0000 (19:51 +0100)]
libntlmconnect.c: fix compiler warnings and OOM handling
Yang Tse [Wed, 19 Dec 2012 15:08:07 +0000 (16:08 +0100)]
configure.ac: clear local test intended variables before use
Yang Tse [Tue, 18 Dec 2012 12:05:54 +0000 (13:05 +0100)]
VC6 IDE: link with advapi32.lib when using WIN32 crypto API (md5.c)
Yang Tse [Mon, 17 Dec 2012 15:31:24 +0000 (16:31 +0100)]
curl-functions.m4: improve gethostname arg 2 data type check
Yang Tse [Mon, 17 Dec 2012 01:07:10 +0000 (02:07 +0100)]
setup_once.h: HP-UX specific 'bool', 'false' and 'true' definitions.
Also reverts commit
f254c59dc7
Yang Tse [Sun, 16 Dec 2012 17:51:51 +0000 (18:51 +0100)]
configure: check if compiler halts on function prototype mismatch
Yang Tse [Sat, 15 Dec 2012 19:31:42 +0000 (20:31 +0100)]
warnless.c: fix compiler warnings
Yang Tse [Sat, 15 Dec 2012 16:46:28 +0000 (17:46 +0100)]
curl-functions.m4: add gethostname arg 2 data type check and definition
Nick Zitzmann [Wed, 12 Dec 2012 04:43:48 +0000 (21:43 -0700)]
darwinssl: Fix implicit conversion compiler warnings
The Clang compiler found a few implicit conversion problems that have
now been fixed.
Yang Tse [Fri, 14 Dec 2012 18:39:22 +0000 (19:39 +0100)]
setup_once.h: HP-UX <sys/socket.h> issue workaround
Issue: When building a 32bit target with large file support HP-UX
<sys/socket.h> header file may simultaneously provide two different
sets of declarations for sendfile and sendpath functions, one with
static and another with external linkage. Given that we do not use
mentioned functions we really don't care which linkage is the
appropriate one, but on the other hand, the double declaration emmits
warnings when using the HP-UX compiler and errors when using modern
gcc versions resulting in fatal compilation errors.
Mentioned issue is now fixed as long as we don't use sendfile nor
sendpath functions.
Yang Tse [Fri, 14 Dec 2012 16:38:18 +0000 (17:38 +0100)]
setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h>
Inclusion of top two most included header files now done in setup_once.h
Yang Tse [Wed, 12 Dec 2012 15:13:16 +0000 (16:13 +0100)]
setup_once.h: HP-UX specific TRUE and FALSE definitions
Some HP-UX system headers require TRUE defined to 1 and FALSE to 0.
Daniel Stenberg [Wed, 12 Dec 2012 10:07:30 +0000 (11:07 +0100)]
gopher: #include cleanup
Remove all system file includes from this file as they're not needed
Reported by: Dan Fandrich
Yang Tse [Tue, 11 Dec 2012 14:03:17 +0000 (15:03 +0100)]
examples/simplessl.c: fix compiler warning
Yang Tse [Mon, 10 Dec 2012 17:06:35 +0000 (18:06 +0100)]
examples/externalsocket.c: fix SunPro compilation issue
Yang Tse [Mon, 10 Dec 2012 16:55:18 +0000 (17:55 +0100)]
examples/simplessl.c: fix compiler warning
Yang Tse [Mon, 10 Dec 2012 16:32:35 +0000 (17:32 +0100)]
build: add bundles and conncache files to other build systems
Yang Tse [Mon, 10 Dec 2012 16:04:13 +0000 (17:04 +0100)]
conncache: fix enumerated type mixed with another type
Yang Tse [Mon, 10 Dec 2012 14:42:12 +0000 (15:42 +0100)]
examples/anyauthput.c: fix Tru64 compilation issue
Colin Watson [Fri, 7 Dec 2012 11:07:54 +0000 (12:07 +0100)]
configure: fix cross pkg-config detection
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.
Linus Nielsen Feltzing [Thu, 6 Dec 2012 11:12:04 +0000 (12:12 +0100)]
Introducing a new persistent connection caching system using "bundles".
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.
Fabian Keil [Wed, 14 Nov 2012 10:40:31 +0000 (11:40 +0100)]
runtests and friends: Do not add undefined values to @INC
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.
Steve Holme [Wed, 5 Dec 2012 19:46:00 +0000 (11:46 -0800)]
Merge pull request #52 from isn-/master
small compilation fix
Stanislav Ivochkin [Wed, 5 Dec 2012 18:31:40 +0000 (22:31 +0400)]
build: fix compilation with CURL_DISABLE_CRYPTO_AUTH flag
Yang Tse [Wed, 5 Dec 2012 16:28:32 +0000 (17:28 +0100)]
libtest: fix some compiler warnings
Yang Tse [Wed, 5 Dec 2012 11:59:14 +0000 (12:59 +0100)]
examples: fix compilation issues - commit
7332a7cafb follow-up
Yang Tse [Wed, 5 Dec 2012 10:43:40 +0000 (11:43 +0100)]
examples: fix compilation issues - commit
23f8dca6fb follow-up
Yang Tse [Tue, 4 Dec 2012 23:37:57 +0000 (00:37 +0100)]
examples: fix compilation issues
Yang Tse [Tue, 4 Dec 2012 22:30:05 +0000 (23:30 +0100)]
build: explain current role of LIBS in our Makefile.am files
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.
Daniel Stenberg [Fri, 30 Nov 2012 13:52:38 +0000 (14:52 +0100)]
multi: fix re-sending request on early connection close
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'.
Yang Tse [Tue, 4 Dec 2012 20:00:32 +0000 (21:00 +0100)]
configure: add minimal sanity check on user provided LIBS and LDFLAGS
Yang Tse [Mon, 3 Dec 2012 21:40:26 +0000 (22:40 +0100)]
build: prevent global LIBS from influencing src and lib build targets
Currently, LIBS is already used through other macros.
Kamil Dudka [Mon, 3 Dec 2012 12:17:50 +0000 (13:17 +0100)]
nss: prevent NSS from crashing on client auth hook failure
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
Yang Tse [Fri, 30 Nov 2012 18:13:50 +0000 (19:13 +0100)]
testcurl.pl: build example programs for several autobuilds
Affected autobuilds: IRIX, AIX, Tru64 and AIX.
Yang Tse [Fri, 30 Nov 2012 18:12:18 +0000 (19:12 +0100)]
build: prevent global LIBS from influencing examples build targets
Yang Tse [Fri, 30 Nov 2012 13:34:48 +0000 (14:34 +0100)]
build: prevent global LIBS from influencing libtest build targets
Yang Tse [Thu, 29 Nov 2012 20:56:48 +0000 (21:56 +0100)]
build: prevent global LIBS from influencing test server build targets
Yang Tse [Wed, 28 Nov 2012 19:51:13 +0000 (20:51 +0100)]
build: fix Windows build targets damaged since commit
550e403f00
Yang Tse [Wed, 28 Nov 2012 17:31:23 +0000 (18:31 +0100)]
build: avoid linkage of directly unused libraries
Yang Tse [Tue, 27 Nov 2012 17:01:55 +0000 (18:01 +0100)]
dd missing NTLM feature for tests 2025, and 2028 to 2032
Yang Tse [Mon, 26 Nov 2012 15:23:02 +0000 (16:23 +0100)]
avoid mixing of enumerated type with another type
Yang Tse [Mon, 26 Nov 2012 15:20:53 +0000 (16:20 +0100)]
multi.c: disambiguate precedence of bitwise and relational operation
Fabian Keil [Sun, 25 Nov 2012 17:34:01 +0000 (18:34 +0100)]
Remove stray CRLF in chunk-encoded content-free request bodies
.. 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.
Daniel Stenberg [Sun, 25 Nov 2012 18:44:49 +0000 (19:44 +0100)]
FAQ: clarify the 3.4 section
You can do custom commands to FTP without sending anything by using the
CURLOPT_NOBODY, which -I sets.
Lijo Antony [Sun, 25 Nov 2012 06:00:58 +0000 (10:00 +0400)]
examples: Updated asiohiper.cpp to remove connect from opensocket
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.
Yang Tse [Fri, 23 Nov 2012 16:57:00 +0000 (17:57 +0100)]
build: fix AIX compilation and usage
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.
Steve Holme [Fri, 23 Nov 2012 13:43:53 +0000 (13:43 +0000)]
DOCS: Updated CURLOPT_CONNECT_ONLY to reflect usage in other protocols
Daniel Stenberg [Fri, 23 Nov 2012 10:56:26 +0000 (11:56 +0100)]
test: offer "automake" output and check for perl better
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,
Fabian Keil [Wed, 21 Nov 2012 15:01:59 +0000 (16:01 +0100)]
Test 206: Use a Content-Length header for the 407 response
Otherwise curl would have to guess where the body ends.
Fabian Keil [Wed, 21 Nov 2012 14:42:00 +0000 (15:42 +0100)]
Test 206: Don't respond to a succesful CONNECT request with a body
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.
Daniel Stenberg [Wed, 21 Nov 2012 17:26:42 +0000 (18:26 +0100)]
htmltitle: use .cpp extension for C++ examples
Lijo Antony [Wed, 21 Nov 2012 10:19:45 +0000 (14:19 +0400)]
examples: Added a c++ example of using multi with boost::asio
Added an example for demonstrating the usage of curl multi interface
with boost::asio in c++
Daniel Stenberg [Wed, 21 Nov 2012 15:17:45 +0000 (16:17 +0100)]
VC Makefiles: add missing hostcheck
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
Daniel Stenberg [Tue, 20 Nov 2012 19:57:18 +0000 (20:57 +0100)]
compiler warning fixes
The conversions from ssize_t to int need to be typecasted.
Daniel Stenberg [Tue, 20 Nov 2012 09:27:36 +0000 (10:27 +0100)]
bump: start working on 7.28.2
Daniel Stenberg [Tue, 20 Nov 2012 09:25:25 +0000 (10:25 +0100)]
THANKS: added 14 contributors from the 7.28.1 release
Daniel Stenberg [Mon, 19 Nov 2012 21:58:05 +0000 (22:58 +0100)]
RELEASE-NOTES: synced with
52af6e69f079 / 7.28.1
Anthony Bryan [Mon, 19 Nov 2012 23:13:21 +0000 (00:13 +0100)]
RELEASE-NOTES: NSS can be used for metalink hashing
Fabian Keil [Sun, 18 Nov 2012 21:42:04 +0000 (22:42 +0100)]
Get test 2032 working when using valgrind
If curl_multi_fdset() sets maxfd to -1, the socket detection
loop is skipped and thus !found_new_socket is no cause for alarm.
Kamil Dudka [Mon, 15 Oct 2012 19:42:33 +0000 (21:42 +0200)]
test2032: spurious failure caused by premature termination
Bug: http://curl.haxx.se/mail/lib-2012-11/0095.html
Fabian Keil [Wed, 14 Nov 2012 11:53:47 +0000 (12:53 +0100)]
Fix comment typos in test 517
Fabian Keil [Tue, 13 Nov 2012 12:58:14 +0000 (13:58 +0100)]
Test 92 and 194: normalize spaces in the Server headers
It makes no difference from curl's point of view but
makes it more convenient to use the tests with a
lws-normalizing proxy between curl and the test server.
Fabian Keil [Sun, 18 Nov 2012 13:55:29 +0000 (14:55 +0100)]
Add a HOSTIP precheck for tests 31 and 1105
They currently only work for 127.0.0.1 which
is hardcoded and can't be easily changed.
Fabian Keil [Thu, 15 Nov 2012 13:02:21 +0000 (14:02 +0100)]
Let test 8 work as long as %HOSTIP ends with ".0.0.1"
.. and add a precheck to skip the test otherwise.
Fabian Keil [Wed, 14 Nov 2012 18:44:11 +0000 (19:44 +0100)]
Add --resolve to the keywords and name of test 1318
This makes it easier to skip it automatically when
the test suite is used with external proxies.
Fabian Keil [Fri, 16 Nov 2012 11:42:51 +0000 (12:42 +0100)]
Add FTP keywords for a couple of currently keyword-less FTP tests
Fabian Keil [Tue, 13 Nov 2012 13:02:42 +0000 (14:02 +0100)]
Add keywords for a couple of currently keyword-less HTTP tests