Steve Holme [Thu, 27 Feb 2014 20:59:15 +0000 (20:59 +0000)]
tool_cfgable: Code policing of structure pointers
Steve Holme [Thu, 27 Feb 2014 20:51:49 +0000 (20:51 +0000)]
tool: Moved --trace and --verbose to the global config
Steve Holme [Thu, 27 Feb 2014 20:31:10 +0000 (20:31 +0000)]
tool_main: Forgot to initialise the first operation's global pointer
Steve Holme [Thu, 27 Feb 2014 20:21:23 +0000 (20:21 +0000)]
tool: Moved --silient to the global config
Other global options such as --libcurl, --trace and --verbose to
follow.
Steve Holme [Wed, 26 Feb 2014 21:02:53 +0000 (21:02 +0000)]
tool_cfgable: Added GlobalConfig pointer to OperationConfig
In order to ease the moving of global options such as the error stream,
updated the OperationConfig structure to point to the GlobalConfig.
Steve Holme [Sun, 23 Feb 2014 18:01:36 +0000 (18:01 +0000)]
tool: Added support to .curlrc for URL specific options
In addition to adding support for URL specific options via the command
line with --next it is now possible to specify "next" in .curlrc.
Steve Holme [Sun, 23 Feb 2014 17:32:19 +0000 (17:32 +0000)]
tool: Reworked argument parsing to use --next/-:
Follow up to commit
1a9b58fcb2 to replace the : command line option
with --next and -:.
Steve Holme [Sun, 23 Feb 2014 17:19:45 +0000 (17:19 +0000)]
tool_getparam: Added initial support for --next/-:
Added initial support for --next/-: which will be used to replace the
rather confusing : command line operation what was used for the URL
specific options prototype.
Dan Fandrich [Wed, 26 Feb 2014 07:25:47 +0000 (08:25 +0100)]
valgrind.supp: tweaked a test 165 suppression
A recent change seems to have slightly changed the call stack
produced by the gcc optimizer.
nickzman [Tue, 25 Feb 2014 23:36:44 +0000 (17:36 -0600)]
Merge pull request #93 from d235j/darwinssl_ip_address_fix
darwinssl: don't omit CN verification when an IP address is used
Daniel Stenberg [Tue, 25 Feb 2014 22:36:13 +0000 (23:36 +0100)]
parse_args: fix a too long source code line
naota [Sun, 23 Feb 2014 13:32:51 +0000 (22:32 +0900)]
configure: Tiny fix to honor POSIX
Change "==" to "=" to honor POSIX test construction.
Steve Holme [Sun, 23 Feb 2014 16:53:55 +0000 (16:53 +0000)]
tool_help: Moved --no-alpn and --no-npn to be listed alphabetically
...and added the HTTP suffix as these options are only used for HTTP2
based connections.
Steve Holme [Sun, 23 Feb 2014 16:37:28 +0000 (16:37 +0000)]
tool: Moved --showerror to the global config
Other global options such as --libcurl, --trace and --verbose to
follow.
Steve Holme [Sun, 23 Feb 2014 16:04:39 +0000 (16:04 +0000)]
tool_getparam: Added global config to getparameter()
In preparation for parsing global options added the GlobalConfig
structure to the getparameter() function.
Steve Holme [Tue, 25 Feb 2014 07:16:51 +0000 (07:16 +0000)]
tool_getparam.h: Fixed compilation warning
warning: declaration of 'struct GlobalConfig' will not be visible
outside of this function
Marc Hoersken [Mon, 24 Feb 2014 21:28:56 +0000 (22:28 +0100)]
RELEASE-NOTES: Updated for
63fc8ee7
Steve Holme [Sun, 23 Feb 2014 15:30:24 +0000 (15:30 +0000)]
tool_cfgable: Added support for knowing the current operation
Marc Hoersken [Mon, 24 Feb 2014 21:10:54 +0000 (22:10 +0100)]
curl_schannel.c: Updated copyright years
David Ryskalczyk [Sun, 23 Feb 2014 17:38:58 +0000 (18:38 +0100)]
winssl: Enable hostname verification of IP address using SAN or CN
Original commit message was:
Don't omit CN verification in SChannel when an IP address is used.
Side-effect of this change:
SChannel and CryptoAPI do not support the iPAddress subjectAltName
according to RFC 2818. If present, SChannel will first compare the
IP address to the dNSName subjectAltNames and then fallback to the
most specific Common Name in the Subject field of the certificate.
This means that after this change curl will not connect to SSL/TLS
hosts as long as the IP address is not specified in the SAN or CN
of the server certificate or the verifyhost option is disabled.
Steve Holme [Sun, 23 Feb 2014 15:10:18 +0000 (15:10 +0000)]
tool_operate: Moved easy handle cleanup into tool_main
Marc Hoersken [Mon, 24 Feb 2014 20:22:41 +0000 (21:22 +0100)]
tool_hugehelp: partially reverted
24e22e10
Compilation was not possible if manuel is disabled due this error:
error: macro "hugehelp" passed 1 arguments, but takes just 0
void hugehelp(void) {}
Steve Holme [Sun, 23 Feb 2014 14:32:22 +0000 (14:32 +0000)]
tool_main: Moved easy handle into global config structure
David Ryskalczyk [Sun, 23 Feb 2014 15:35:30 +0000 (10:35 -0500)]
Don't omit CN verification in DarwinSSL when an IP address is used.
Steve Holme [Sun, 23 Feb 2014 16:09:15 +0000 (16:09 +0000)]
tool: Fixed line longer than 79 characters from commit
705a4cb549
Steve Holme [Sun, 23 Feb 2014 13:49:46 +0000 (13:49 +0000)]
tool_main: Corrected typo from commit
d6b9f054e9 in Symbian code
Steve Holme [Sun, 23 Feb 2014 13:44:59 +0000 (13:44 +0000)]
tool_main: Moved OperateConfig cleanup into main_free()
Steve Holme [Sun, 23 Feb 2014 13:34:29 +0000 (13:34 +0000)]
tool_main: Moved initial OperateConfig creation into main_init()
Steve Holme [Sun, 23 Feb 2014 13:15:31 +0000 (13:15 +0000)]
tool_cfgable: Added global config structure
Steve Holme [Sun, 23 Feb 2014 12:59:59 +0000 (12:59 +0000)]
tool_cfgable: Renamed Configurable structure to OperationConfig
To allow for the addition of a global config structure and prevent
confusion between the two.
Steve Holme [Sun, 23 Feb 2014 12:10:42 +0000 (12:10 +0000)]
tool: Fixed incorrect return code with --version from commit
c10bf9bb36
Steve Holme [Sun, 23 Feb 2014 11:24:46 +0000 (11:24 +0000)]
RELEASE-NOTES: Synced with
8c80840d01
Steve Holme [Sun, 23 Feb 2014 10:58:56 +0000 (10:58 +0000)]
tool_getparam: Moved tool_help() call into operate()
Steve Holme [Sun, 23 Feb 2014 10:37:44 +0000 (10:37 +0000)]
tool_getparam: Moved hugehelp() call into operate()
Steve Holme [Sun, 23 Feb 2014 10:16:36 +0000 (10:16 +0000)]
tool_getparam: Moved tool_version_info() call into operate()
Steve Holme [Sat, 22 Feb 2014 20:58:43 +0000 (20:58 +0000)]
tool_cfgable: Removed list_engine flag from config structure
In preparation for separating the global config options from the per
operation config options, reworked the list engines code to not use a
member variable in the Configurable structure.
Steve Holme [Sat, 22 Feb 2014 18:57:02 +0000 (18:57 +0000)]
tool_operate: Start to use CURLcode rather than int for return codes
To help assist with the detection of incorrect return codes, as per
commits
ee23d13a79,
33b8960dc8 and
aba98991a5, updated the operate
based functions to return CURLcode error codes.
Steve Holme [Sat, 22 Feb 2014 18:14:33 +0000 (18:14 +0000)]
tool: Fixed incorrect return code when setting HTTP request fails
During initialisation SetHTTPrequest() may fail and cURL would return
PARAM_BAD_USE, which is equivalent to CURLE_NOT_BUILT_IN in cURL error
terms.
Instead, return CURLE_FAILED_INIT as we do for other functions that may
fail during initialisation.
Steve Holme [Sat, 22 Feb 2014 17:45:38 +0000 (17:45 +0000)]
tool_getparam: Moved version information into separate function in tool_help
Steve Holme [Sat, 22 Feb 2014 17:09:43 +0000 (17:09 +0000)]
tool_operhlp.h: Fixed compilation warning
warning: 'struct Configurable' declared inside parameter list
Steve Holme [Sat, 22 Feb 2014 16:21:53 +0000 (16:21 +0000)]
tool_operhlp: Consolidated engine output code into tool_help
Steve Holme [Sat, 22 Feb 2014 16:04:30 +0000 (16:04 +0000)]
tool_operate: Moved list engines into separate function in tool_help
Marc Hoersken [Sat, 22 Feb 2014 15:57:29 +0000 (16:57 +0100)]
RELEASE-NOTES: added note about impact of changes to WinSSL defaults
Marc Hoersken [Sat, 22 Feb 2014 15:48:15 +0000 (16:48 +0100)]
stunnel: regenerated self-signed test certificate with SHA1 hash
The previous test certificate contained a MD5 hash which is not
supported using TLSv1.2 with Schannel on Windows 7 or newer.
See the update to this blog post on IEInternals / MSDN:
http://blogs.msdn.com/b/ieinternals/archive/2011/03/25/
misbehaving-https-servers-impair-tls-1.1-and-tls-1.2.aspx
"Update: If the server negotiates a TLS1.2 connection with a
Windows 7 or 8 schannel.dll-using client application, and it
provides a certificate chain which uses the (weak) MD5 hash
algorithm, the client will abort the connection (TCP/IP FIN)
upon receipt of the certificate."
Dan Fandrich [Wed, 19 Feb 2014 07:57:00 +0000 (08:57 +0100)]
easy: Fixed a memory leak on OOM condition
Steve Holme [Thu, 20 Feb 2014 23:18:48 +0000 (23:18 +0000)]
tool_paramhlp: Fixed compilation warnings
declaration of 'index' shadows a global declaration
Steve Holme [Wed, 19 Feb 2014 20:36:36 +0000 (20:36 +0000)]
lib1515.c: Fixed #include path in commit
647f83e809
Maks Naumov [Tue, 18 Feb 2014 13:45:12 +0000 (15:45 +0200)]
test1515: fix compilation with msvc
... or any other systems lacking a native snprintf
Daniel Stenberg [Tue, 18 Feb 2014 10:21:13 +0000 (11:21 +0100)]
SFTP: skip reading the dir when NOBODY=1
When asking for an SFTP directory with NOBODY set, no directory contents
should be retrieved.
Bug: http://curl.haxx.se/mail/lib-2014-02/0155.html
Dan Fandrich [Tue, 18 Feb 2014 20:14:09 +0000 (21:14 +0100)]
axtls: comment the call ssl_read repeatedly loop
Kamil Dudka [Mon, 17 Feb 2014 15:55:10 +0000 (16:55 +0100)]
curl.1: update the description of --tlsv1
... and mention the --tlsv1.[0-2] options in the --tslv1 entry
Reported-by: Hubert Kario
Daniel Stenberg [Tue, 18 Feb 2014 07:59:56 +0000 (08:59 +0100)]
curl_version.3: recommend using curl_version_info() instead
Daniel Stenberg [Tue, 18 Feb 2014 07:59:38 +0000 (08:59 +0100)]
curl_version_info.3: added *HTTP2
... and edited language slightly
Daniel Stenberg [Tue, 18 Feb 2014 07:51:03 +0000 (08:51 +0100)]
curl_multi_assign.3: updated language
Daniel Stenberg [Tue, 18 Feb 2014 07:46:46 +0000 (08:46 +0100)]
libcurl.3: edited slightly to improve readability
Daniel Stenberg [Tue, 18 Feb 2014 07:30:59 +0000 (08:30 +0100)]
curl_easy_perform.3: extended and clarified
Daniel Stenberg [Tue, 18 Feb 2014 07:29:39 +0000 (08:29 +0100)]
curl_multi_add_handle.3: clarify multi vs easy use
it is only WHILE added to a multi handle that it can't be used with the
easy interface
Tatsuhiro Tsujikawa [Fri, 14 Feb 2014 13:02:44 +0000 (22:02 +0900)]
http2: Support HTTP POST/PUT
This patch enables HTTP POST/PUT in HTTP2.
We disabled Expect header field and chunked transfer encoding
since HTTP2 forbids them.
In HTTP1, Curl sends small upload data with request headers, but
HTTP2 requires upload data must be in DATA frame separately.
So we added some conditionals to achieve this.
Daniel Stenberg [Mon, 17 Feb 2014 10:16:41 +0000 (11:16 +0100)]
RELEASE-NOTES: synced with
854aca5420f
Daniel Stenberg [Mon, 17 Feb 2014 09:35:21 +0000 (10:35 +0100)]
multi: ignore sigpipe internally
When the multi API is used we must also ignore SIGPIPE signals when
caused by things we do, like they can easily be generated by OpenSSL.
Dan Fandrich [Mon, 17 Feb 2014 08:14:44 +0000 (09:14 +0100)]
tests: Made the crypto test feature usable
This feature specifies the availability of cryptographic
authentication, which can be disabled at compile-time
Dan Fandrich [Mon, 17 Feb 2014 08:40:49 +0000 (09:40 +0100)]
configure: Fix the --disable-crypto-auth option
It now disables NTLM and GSS authentication methods, and produces
compilable code when SSL is enabled.
Daniel Stenberg [Mon, 17 Feb 2014 08:27:14 +0000 (09:27 +0100)]
curl_multi_setopt.3: clarify CURLMOPT_MAXCONNECTS
Shao Shuchao [Mon, 17 Feb 2014 05:44:00 +0000 (13:44 +0800)]
ConnectionDone: default maxconnects to 4 x number of easy handles
... as documented!
Daniel Stenberg [Mon, 17 Feb 2014 07:25:39 +0000 (08:25 +0100)]
examples: remove all use of CURLM_CALL_MULTI_PERFORM
... since it is never returned since a long while back.
Colin Hogben [Fri, 14 Feb 2014 10:41:12 +0000 (10:41 +0000)]
curl_easy_setopt.3: Add another non-matching hostname
For the avoidance of doubt, show a domain which contains the no-proxy
pattern but not at the top level.
Daniel Stenberg [Sun, 16 Feb 2014 22:31:47 +0000 (23:31 +0100)]
axtls: bump copyright year
Fabian Frank [Fri, 14 Feb 2014 09:20:20 +0000 (01:20 -0800)]
axtls: call ssl_read repeatedly
Perform more work in between sleeps. This is work around the
fact that axtls does not expose any knowledge about when work needs
to be performed. Depending on connection and how often perform is
being called this can save ~25% of time on SSL handshakes (measured
on 20ms latency connection calling perform roughly every 10ms).
Yehezkel Horowitz [Sun, 16 Feb 2014 22:27:16 +0000 (23:27 +0100)]
url_easy_setopt.3: Add undocumented values of curl_infotype
... for debug function
Daniel Stenberg [Sun, 16 Feb 2014 13:07:56 +0000 (14:07 +0100)]
ConnectionExists: re-use connections better
When allowing NTLM, the re-use connection logic was too focused on
finding an existing NTLM connection to use and didn't properly allow
re-use of other ones. This made the logic not re-use perfectly re-usable
connections.
Added test case 1418 and 1419 to verify.
Regression brought in
8ae35102c (curl 7.35.0)
Reported-by: Jeff King
Bug: http://thread.gmane.org/gmane.comp.version-control.git/242213
Steve Holme [Sun, 16 Feb 2014 11:10:09 +0000 (11:10 +0000)]
tool_paramhlp: Added URL index to password prompt for multiple operations
Marc Hoersken [Sun, 16 Feb 2014 10:52:00 +0000 (11:52 +0100)]
sockfilt.c: add undefs which are required after
6239146e
Steve Holme [Sun, 16 Feb 2014 10:28:48 +0000 (10:28 +0000)]
warnless: Updated copyright year for recent changes
Marc Hoersken [Sun, 16 Feb 2014 10:03:22 +0000 (11:03 +0100)]
warnless: add wrapper function for read and write on Windows
Steve Holme [Sat, 15 Feb 2014 23:33:09 +0000 (23:33 +0000)]
examples: Added IMAP LSUB example
Steve Holme [Fri, 14 Feb 2014 22:05:27 +0000 (22:05 +0000)]
tool_operate: Changed the required argument check/get to be upfront
Rather than check for required arguments, and prompt for any host and
proxy passwords, as each operation is performed, changed the code so
all configurations are checked before any operations are performed.
This allows the user to input all the required passwords, for example,
upfront rather than wait for each operation.
Steve Holme [Fri, 14 Feb 2014 21:59:51 +0000 (21:59 +0000)]
tool_operate: Moved required argument getting into separate function
Dan Fandrich [Sat, 15 Feb 2014 08:27:21 +0000 (09:27 +0100)]
valgrind: added another test 165 suppression
This one is needed with the gcc options -fstack-protector-all -O2
That brings the number of suppressions for test 165 to four, and I
suspect I could find another two missing without trying very hard. I'm
beginning to think suppressions isn't the best way to handle these
kinds of cases.
Marc Hoersken [Sat, 15 Feb 2014 08:19:27 +0000 (09:19 +0100)]
testsuite: more Windows line-endings fixes
Marc Hoersken [Sat, 15 Feb 2014 08:14:36 +0000 (09:14 +0100)]
test1114: fix line-endings checks on Windows after 75f00de
Marc Hoersken [Sat, 15 Feb 2014 08:12:59 +0000 (09:12 +0100)]
test1113: fix line-endings checks on Windows after
75f00de5
Marc Hoersken [Fri, 14 Feb 2014 21:17:54 +0000 (22:17 +0100)]
lib1515.c: Added support for Windows using the Sleep function
Marc Hoersken [Sat, 1 Feb 2014 13:03:55 +0000 (14:03 +0100)]
HTTP tests: use CRLF as header seperator according to RFC 2616
Updates the test suite to handle binary-mode header output.
Marc Hoersken [Sat, 1 Feb 2014 13:02:34 +0000 (14:02 +0100)]
curl: output protocol headers using binary mode
Since protocol headers contain explicit line-endings there should
be no automatic conversion to ASCII text or CRLF line-endings.
This might break third party tools that already depend on this
behaviour. We might need to introduce an option to make this optional.
Marc Hoersken [Sat, 1 Feb 2014 12:58:41 +0000 (13:58 +0100)]
HTTP tests: use CRLF as header seperator according to RFC 2616
Changes LF to CRLF and disables automatic output conversion.
Marc Hoersken [Fri, 31 Jan 2014 23:58:58 +0000 (00:58 +0100)]
testsuite: use binary output mode for custom curl test tools
Do not try to convert line-endings to CRLF on Windows by setting stdout
to binary mode, just like the curl tool does if --ascii is not specified.
This should prevent corrupted stdout line-ending output like CRCRLF.
In order to make the previously naive text-aware tests work with
binary mode on Windows, text-mode is disabled for them if it is not
actually part of the test case and line-endings are corrected.
Marc Hoersken [Fri, 31 Jan 2014 23:52:08 +0000 (00:52 +0100)]
testsuite: changed HTTP and RTSP header line-endings to CRLF
According to RFC 2616 and RFC 2326 individual protocol elements, like
headers and except the actual content, are terminated by using CRLF.
Therefore the test data files for these protocols need to contain
mixed line-endings if the actual protocol elements use CRLF while
the file uses LF.
Colin Hogben [Fri, 14 Feb 2014 10:35:49 +0000 (10:35 +0000)]
curl_easy_setopt.3: Fix word order of CURLOPT_PROXY section
The word CURLOPT_PROXYPORT became detached from its sentence when the
note about the default was added.
Patrick Monnerat [Fri, 14 Feb 2014 10:13:01 +0000 (11:13 +0100)]
OS400: Add new options to RPG binding.
Dan Fandrich [Fri, 14 Feb 2014 07:41:10 +0000 (08:41 +0100)]
valgrind: added suppression on optimized code
gcc 4.7.2 with -O2 will optimize Curl_connect by inlining some
functions two levels deep, which makes the valgrind suppression
fail to match. The underlying reason for these idna suppressions is
a gcc strlen optimization when compiling libidn; compiling it with
-fno-builtin-strlen makes this suppression unnecessary.
Arvid Norberg [Fri, 14 Feb 2014 07:20:59 +0000 (08:20 +0100)]
dict: fix memory leak in OOM exit path
Bug: https://github.com/bagder/curl/pull/90
Daniel Stenberg [Thu, 13 Feb 2014 22:57:40 +0000 (23:57 +0100)]
Curl_urldecode: don't allow NULL as receiver
For a function that returns a decoded version of a string, it seems
really strange to allow a NULL pointer to get passed in which then
prevents the decoded data from being returned!
This functionality was not documented anywhere either.
If anyone would use it that way, that memory would've been leaked.
Bug: https://github.com/bagder/curl/pull/90
Reported-by: Arvid Norberg
Daniel Stenberg [Thu, 13 Feb 2014 22:35:32 +0000 (23:35 +0100)]
RELEASE-NOTES: synced with
378af08c992
Daniel Stenberg [Wed, 12 Feb 2014 13:15:42 +0000 (14:15 +0100)]
ConnectionExists: reusing possible HTTP+NTLM connections better
Make sure that the special NTLM magic we do is for HTTP+NTLM only since
that's where the authenticated connection is a weird non-standard
paradigm.
Regression brought in
8ae35102c (curl 7.35.0)
Bug: http://curl.haxx.se/mail/lib-2014-02/0100.html
Reported-by: Dan Fandrich
Tiit Pikma [Thu, 13 Feb 2014 09:49:27 +0000 (11:49 +0200)]
transfer: make Expect: 100-continue timeout configurable.
Replaced the #define CURL_TIMEOUT_EXPECT_100 in transfer.c with the
CURLOPT_EXPECT_100_TIMEOUT_MS option to make the timeout configurable.
Thomas Braun [Sat, 8 Feb 2014 16:26:53 +0000 (17:26 +0100)]
Fix compilation with make mingw32
The source files from lib/vtls where generated in lib instead of lib/vtls.
Verified-by: Thomas Braun <thomas.braun@virtuell-zuhause.de>
Daniel Stenberg [Wed, 12 Feb 2014 13:33:17 +0000 (14:33 +0100)]
chunked decoder: track overflows correctly
The code didn't properly check the return codes to detect overflows so
it could trigger incorrectly. Like on mingw32.
Regression introduced in
345891edba (curl 7.35.0)
Bug: http://curl.haxx.se/mail/lib-2014-02/0097.html
Reported-by: LM
Fabian Frank [Tue, 11 Feb 2014 07:29:21 +0000 (23:29 -0800)]
curl_easy_setopt.3: add CURL_HTTP_VERSION_2_0
Fabian Frank [Tue, 11 Feb 2014 07:05:13 +0000 (23:05 -0800)]
openssl: honor --[no-]alpn|npn command line switch
Disable ALPN or NPN if requested by the user.
Fabian Frank [Tue, 11 Feb 2014 06:18:11 +0000 (22:18 -0800)]
gtls: honor --[no-]alpn command line switch
Disable ALPN if requested by the user.