Daniel Stenberg [Tue, 4 Jun 2013 11:22:40 +0000 (13:22 +0200)]
curl_multi_wait: only use internal timer if not -1
commit
29bf0598aad5 introduced a problem when the "internal" timeout is
prefered to the given if shorter, as it didn't consider the case where
-1 was returned. Now the internal timeout is only considered if not -1.
Reported-by: Tor Arntsen
Bug: http://curl.haxx.se/mail/lib-2013-06/0015.html
Dan Fandrich [Mon, 3 Jun 2013 20:44:05 +0000 (22:44 +0200)]
libcurl-tutorial.3: added a section on IPv6
Also added a (correctly-escaped) backslash to the autoexec.bat
example file and a new Windows character device name with
a colon as examples of other characters that are special
and potentially dangerous (this reverts and reworks commit
7d8d2a54).
Daniel Stenberg [Mon, 3 Jun 2013 18:19:51 +0000 (20:19 +0200)]
curl_multi_wait: reduce timeout if the multi handle wants to
If the multi handle's pending timeout is less than what is passed into
this function, it will now opt to use the shorter time anyway since it
is a very good hint that the handle wants to process something in a
shorter time than what otherwise would happen.
curl_multi_wait.3 was updated accordingly to clarify
This is the reason for bug #1224
Bug: http://curl.haxx.se/bug/view.cgi?id=1224
Reported-by: Andrii Moiseiev
Daniel Stenberg [Mon, 3 Jun 2013 18:13:35 +0000 (20:13 +0200)]
multi_runsingle: switch an if() condition for readability
... because there's an identical check right next to it so using the
operators in the check in the same order increases readability.
Marc Hoersken [Sun, 2 Jun 2013 18:21:42 +0000 (20:21 +0200)]
curl_schannel.c: Removed variable unused since
35874298e4
Marc Hoersken [Sun, 2 Jun 2013 13:53:08 +0000 (15:53 +0200)]
curl_setup.h: Fixed redefinition warning using mingw-w64
Daniel Stenberg [Thu, 30 May 2013 21:34:33 +0000 (23:34 +0200)]
multi_runsingle: add braces to clarify the code
Daniel Stenberg [Tue, 28 May 2013 11:37:08 +0000 (13:37 +0200)]
libcurl-tutorial.3: remove incorrect backslash
A single backslash in the content is not legal nroff syntax.
Reported and fixed by: Eric S. Raymond
Bug: http://curl.haxx.se/bug/view.cgi?id=1234
Daniel Stenberg [Tue, 28 May 2013 11:35:13 +0000 (13:35 +0200)]
curl_formadd.3: fixed wrong "end-marker" syntax
Reported and fixed by: Eric S. Raymond
Bug: http://curl.haxx.se/bug/view.cgi?id=1233
Daniel Stenberg [Tue, 28 May 2013 09:37:29 +0000 (11:37 +0200)]
curl.1: clarify that --silent still outputs data
Daniel Stenberg [Mon, 27 May 2013 17:45:12 +0000 (19:45 +0200)]
Digest auth: escape user names with \ or " in them
When sending the HTTP Authorization: header for digest, the user name
needs to be escaped if it contains a double-quote or backslash.
Test 1229 was added to verify
Reported and fixed by: Nach M. S
Bug: http://curl.haxx.se/bug/view.cgi?id=1230
Mike Giancola [Wed, 22 May 2013 21:42:33 +0000 (23:42 +0200)]
ossl_recv: SSL_read() returning 0 is an error too
SSL_read can return 0 for "not successful", according to the open SSL
documentation: http://www.openssl.org/docs/ssl/SSL_read.html
Mike Giancola [Wed, 22 May 2013 21:08:27 +0000 (23:08 +0200)]
ossl_send: SSL_write() returning 0 is an error too
We found that in specific cases if the connection is abruptly closed,
the underlying socket is listed in a close_wait state. We continue to
call the curl_multi_perform, curl_mutli_fdset etc. None of these APIs
report the socket closed / connection finished. Since we have cases
where the multi connection is only used once, this can pose a problem
for us. I've read that if another connection was to come in, curl would
see the socket as bad and attempt to close it at that time -
unfortunately, this does not work for us.
I found that in specific situations, if SSL_write returns 0, curl did
not recognize the socket as closed (or errored out) and did not report
it to the application. I believe we need to change the code slightly, to
check if ssl_write returns 0. If so, treat it as an error - the same as
a negative return code.
For OpenSSL - the ssl_write documentation is here:
http://www.openssl.org/docs/ssl/SSL_write.html
Daniel Stenberg [Tue, 21 May 2013 21:58:52 +0000 (23:58 +0200)]
KNOWN_BUGS: curl -OJC- fails to resume
Bug: http://curl.haxx.se/bug/view.cgi?id=1169
Daniel Stenberg [Tue, 21 May 2013 21:28:59 +0000 (23:28 +0200)]
Curl_cookie_add: handle IPv6 hosts
1 - don't skip host names with a colon in them in an attempt to bail out
on HTTP headers in the cookie file parser. It was only a shortcut anyway
and trying to parse a file with HTTP headers will still be handled, only
slightly slower.
2 - don't skip domain names based on number of dots. The original
netscape cookie spec had this oddity mentioned and while our code
decreased the check to only check for two, the existing cookie spec has
no such dot counting required.
Bug: http://curl.haxx.se/bug/view.cgi?id=1221
Reported-by: Stefan Neis
Daniel Stenberg [Mon, 20 May 2013 08:49:50 +0000 (10:49 +0200)]
curl_easy_setopt.3: expand the PROGRESSFUNCTION section
Explain the callback and its arguments better and with more descriptive
text.
Daniel Stenberg [Sun, 19 May 2013 10:44:44 +0000 (12:44 +0200)]
tests: add test1394 file to the tarball
Daniel Stenberg [Sun, 19 May 2013 09:21:56 +0000 (11:21 +0200)]
tarball: include the xmlstream example
David Strauss [Sun, 19 May 2013 09:14:01 +0000 (02:14 -0700)]
xmlstream: XML stream parsing example source code
Add an XML stream parsing example using Expat. Add missing ignore for
the binary from an unrelated example.
YAMADA Yasuharu [Sat, 18 May 2013 20:51:31 +0000 (22:51 +0200)]
cookies: only consider full path matches
I found a bug which cURL sends cookies to the path not to aim at.
For example:
- cURL sends a request to http://example.fake/hoge/
- server returns cookie which with path=/hoge;
the point is there is NOT the '/' end of path string.
- cURL sends a request to http://example.fake/hogege/ with the cookie.
The reason for this old "feature" is because that behavior is what is
described in the original netscape cookie spec:
http://curl.haxx.se/rfc/cookie_spec.html
The current cookie spec (RFC6265) clarifies the situation:
http://tools.ietf.org/html/rfc6265#section-5.2.4
Eric Hu [Thu, 16 May 2013 18:26:42 +0000 (20:26 +0200)]
axtls: prevent memleaks on SSL handshake failures
Daniel Stenberg [Sun, 12 May 2013 13:10:01 +0000 (15:10 +0200)]
Revert "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage"
This reverts commit
8ec2cb5544b86306b702484ea785b6b9596562ab.
We don't have any code anywhere in libcurl (or the curl tool) that use
wcsdup so there's no such memory use to track. It seems to cause mild
problems with the Borland compiler though that we may avoid by reverting
this change again.
Bug: http://curl.haxx.se/mail/lib-2013-05/0070.html
Daniel Stenberg [Sun, 12 May 2013 12:35:43 +0000 (14:35 +0200)]
RELEASE-NOTES: synced with
ae26ee3489588f0
Guenter Knauf [Sat, 11 May 2013 15:08:00 +0000 (17:08 +0200)]
Updated zlib version in build files.
Renaud Guillard [Thu, 9 May 2013 15:31:56 +0000 (17:31 +0200)]
OS X framework: fix invalid symbolic link
Daniel Stenberg [Tue, 7 May 2013 21:30:52 +0000 (23:30 +0200)]
nss: give PR_INTERVAL_NO_WAIT instead of -1 to PR_Recv/PR_Send
Reported by: David Strauss
Bug: http://curl.haxx.se/mail/lib-2013-05/0088.html
Daniel Stenberg [Wed, 8 May 2013 12:35:45 +0000 (14:35 +0200)]
libtest: gitignore more binary files
Daniel Stenberg [Sun, 5 May 2013 21:15:27 +0000 (23:15 +0200)]
servercert: allow empty subject
Bug: http://curl.haxx.se/bug/view.cgi?id=1220
Patch by: John Gardiner Myers
Steve Holme [Sat, 4 May 2013 16:50:53 +0000 (17:50 +0100)]
tests: Added new SMTP tests to verify commit
99b40451836d
Daniel Stenberg [Tue, 7 May 2013 20:51:59 +0000 (22:51 +0200)]
runtests.pl: support nonewline="yes" in client/stdin sections
Daniel Stenberg [Mon, 6 May 2013 21:28:04 +0000 (23:28 +0200)]
build: fixed unit1394 for debug and metlink builds
Kamil Dudka [Fri, 3 May 2013 11:26:25 +0000 (13:26 +0200)]
unit1394.c: plug the curl tool unit test in
Jared Jennings [Fri, 5 Apr 2013 14:01:31 +0000 (16:01 +0200)]
unit1394.c: basis of a unit test for parse_cert_parameter()
Kamil Dudka [Fri, 3 May 2013 21:03:58 +0000 (23:03 +0200)]
src/Makefile.am: build static lib for unit tests if enabled
Kamil Dudka [Fri, 3 May 2013 20:57:18 +0000 (22:57 +0200)]
tool_getparam: ensure string termination in parse_cert_parameter()
Kamil Dudka [Fri, 3 May 2013 20:16:46 +0000 (22:16 +0200)]
tool_getparam: fix memleak in handling the -E option
Kamil Dudka [Fri, 5 Apr 2013 14:10:46 +0000 (16:10 +0200)]
tool_getparam: describe what parse_cert_parameter() does
... and de-duplicate the code initializing *passphrase
Kamil Dudka [Fri, 3 May 2013 21:12:00 +0000 (23:12 +0200)]
curl.1: document escape sequences recognized by -E
Jared Jennings [Fri, 5 Apr 2013 14:01:31 +0000 (16:01 +0200)]
curl -E: allow to escape ':' in cert nickname
Marc Hoersken [Sun, 5 May 2013 15:57:37 +0000 (17:57 +0200)]
curl_schannel.c: Fixed invalid memory access during SSL shutdown
Steve Holme [Sat, 4 May 2013 17:37:50 +0000 (18:37 +0100)]
smtp: Fix trailing whitespace warning
Steve Holme [Sat, 4 May 2013 12:24:05 +0000 (13:24 +0100)]
smtp: Fix compilation warning
comparison between signed and unsigned integer expressions
Steve Holme [Sat, 4 May 2013 09:04:08 +0000 (10:04 +0100)]
RELEASE-NOTES: synced with
92ef5f19c801
Steve Holme [Sat, 4 May 2013 08:58:32 +0000 (09:58 +0100)]
smtp: Updated RFC-2821 references to RFC-5321
Steve Holme [Sat, 4 May 2013 08:52:09 +0000 (09:52 +0100)]
smtp: Fixed sending of double CRLF caused by first in EOB
If the mail sent during the transfer contains a terminating <CRLF> then
we should not send the first <CRLF> of the EOB as specified in RFC-5321.
Additionally don't send the <CRLF> if there is "no mail data" as the
DATA command already includes it.
Steve Holme [Fri, 3 May 2013 19:08:21 +0000 (20:08 +0100)]
tests: Corrected MAIL SIZE for CRLF line endings
... which was missed in commit:
f5c3d9538452
Steve Holme [Fri, 3 May 2013 17:27:06 +0000 (18:27 +0100)]
tests: Corrected infilesize for CRLF line endings
... which was missed in commit:
f5c3d9538452
Steve Holme [Fri, 3 May 2013 17:22:18 +0000 (18:22 +0100)]
tests: Corrected test1406 to be RFC2821 compliant
Steve Holme [Thu, 2 May 2013 21:49:16 +0000 (22:49 +0100)]
tests: Corrected test1320 to be RFC2821 compliant
Steve Holme [Thu, 2 May 2013 19:03:50 +0000 (20:03 +0100)]
tests: Corrected typo in test909
Introduced in commit:
514817669e9e
Steve Holme [Thu, 2 May 2013 17:52:52 +0000 (18:52 +0100)]
tests: Corrected test909 to be RFC2821 compliant
Steve Holme [Thu, 2 May 2013 17:50:00 +0000 (18:50 +0100)]
tests: Updated test references to 909 from 1411
...and removed references to libcurl and test1406.
Steve Holme [Thu, 2 May 2013 17:46:11 +0000 (18:46 +0100)]
tests: Renamed test1411 to test909 as this is a main SMTP test
Lars Johannesen [Wed, 1 May 2013 12:16:59 +0000 (14:16 +0200)]
bindlocal: move brace out of #ifdef
The code within #ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID wrongly had two
closing braces when it should only have one, so builds without that
define would fail.
Bug: http://curl.haxx.se/mail/lib-2013-05/0000.html
Steve Holme [Tue, 30 Apr 2013 21:22:22 +0000 (22:22 +0100)]
smtp: Tidy up to move the eob counter to the per-request structure
Move the eob counter from the smtp_conn structure to the SMTP structure
as it is associated with a SMTP payload on a per-request basis.
Steve Holme [Mon, 29 Apr 2013 22:31:31 +0000 (23:31 +0100)]
TODO: Updated following the addition of CURLOPT_SASL_IR
Steve Holme [Mon, 29 Apr 2013 21:25:12 +0000 (22:25 +0100)]
smtp: Fixed unknown percentage complete in progress bar
The curl command line utility would display the the completed progress
bar with a percentage of zero as the progress routines didn't know the
size of the transfer.
Daniel Stenberg [Mon, 29 Apr 2013 12:58:08 +0000 (14:58 +0200)]
ftpserver: silence warnings
Fix regressions in commit
b56e3d43e5d. Make @data local and filter off
non-numerical digits from $testno in STATUS_imap.
Steve Holme [Mon, 29 Apr 2013 11:49:30 +0000 (12:49 +0100)]
ftpserver.pl: Corrected the imap LOGIN response
...to be more realistic and consistent with the other imap responses.
Steve Holme [Mon, 29 Apr 2013 11:43:18 +0000 (12:43 +0100)]
tests: Added imap STATUS command test
Steve Holme [Sun, 28 Apr 2013 15:12:40 +0000 (16:12 +0100)]
tests: Corrected the SMTP tests to be RFC2821 compliant
The emails that are sent to the server during these tests were
incorrectly formatted as they contained one or more LF terminated lines
rather than being CRLF terminated as per Section 2.3.7 of RFC-2821.
This wasn't a problem for the test suite as the <stdin> data matched the
<upload> data but anyone using these tests as reference would be sending
incorrect data to a server.
Steve Holme [Sun, 28 Apr 2013 11:57:42 +0000 (12:57 +0100)]
email: Tidy up of *_perform_authenticate()
Removed the hard returns from imap and pop3 by using the same style for
sending the authentication string as smtp. Moved the "Other mechanisms
not supported" check in smtp to match that of imap and pop3 to provide
consistency between the three email protocols.
Steve Holme [Sun, 28 Apr 2013 11:20:51 +0000 (12:20 +0100)]
smtp: Updated limit check to be more readable like the check in pop3
Steve Holme [Sun, 28 Apr 2013 11:20:14 +0000 (12:20 +0100)]
pop3: Added 255 octet limit check when sending initial response
Added 255 octet limit check as per Section 4. Paragraph 8 of RFC-5034.
Steve Holme [Sun, 28 Apr 2013 11:17:15 +0000 (12:17 +0100)]
DOCS: Corrected line length of recent Secure Transport changes
Nick Zitzmann [Sun, 28 Apr 2013 05:15:07 +0000 (23:15 -0600)]
darwinssl: add TLS crypto authentication
Users using the Secure Transport (darwinssl) back-end can now use a
certificate and private key to authenticate with a site using TLS. Because
Apple's security system is based around the keychain and does not have any
non-public function to create a SecIdentityRef data structure from data
loaded outside of the Keychain, the certificate and private key have to be
loaded into the Keychain first (using the certtool command line tool or
the Security framework's C API) before we can find it and use it.
Steve Holme [Sat, 27 Apr 2013 22:02:20 +0000 (23:02 +0100)]
Corrected version numbers after bump
Daniel Stenberg [Sat, 27 Apr 2013 21:15:35 +0000 (23:15 +0200)]
bump version
Since we're adding new stuff, the next release will bump the minor
version and we're looking forward to 7.31.0
Steve Holme [Sat, 27 Apr 2013 19:43:55 +0000 (20:43 +0100)]
RELEASE-NOTES: synced with
f4e6e201b146
Steve Holme [Sat, 27 Apr 2013 16:01:50 +0000 (17:01 +0100)]
DOCS: Updated following the addition of CURLOPT_SASL_IR
Documented the the option in curl_easy_setopt() and added it to
symbols-in-versions.
Steve Holme [Sat, 27 Apr 2013 15:36:17 +0000 (16:36 +0100)]
tests: Corrected command line arguments in test907 and test908
Steve Holme [Sat, 27 Apr 2013 12:04:02 +0000 (13:04 +0100)]
tests: Added SMTP AUTH with initial response tests
Steve Holme [Sat, 27 Apr 2013 11:32:27 +0000 (12:32 +0100)]
tests: Updated SMTP tests to decouple client initial response
Updated test903 and test904 following the addition of CURLOPT_SASL_IR
as the default behaviour of SMTP AUTH responses is now to not include
the initial response. New tests with --sasl-ir support to follow.
Steve Holme [Sat, 27 Apr 2013 11:04:35 +0000 (12:04 +0100)]
imap: Added support for overriding the SASL initial response
In addition to checking for the SASL-IR capability the user can override
the sending of the client's initial response in the AUTHENTICATION
command with the use of CURLOPT_SASL_IR should the server erroneously
not report SASL-IR when it does support it.
Steve Holme [Sat, 27 Apr 2013 10:59:17 +0000 (11:59 +0100)]
smtp: Added support for disabling the SASL initial response
Updated the default behaviour of sending the client's initial response in the AUTH
command to not send it and added support for CURLOPT_SASL_IR to allow the user to
specify including the response.
Related Bug: http://curl.haxx.se/mail/lib-2012-03/0114.html
Reported-by: Gokhan Sengun
Steve Holme [Sat, 27 Apr 2013 10:53:59 +0000 (11:53 +0100)]
pop3: Added support for enabling the SASL initial response
Allowed the user to specify whether to send the client's intial response
in the AUTH command via CURLOPT_SASL_IR.
Steve Holme [Sat, 27 Apr 2013 08:54:14 +0000 (09:54 +0100)]
sasl-ir: Added --sasl-ir option to curl command line tool
Steve Holme [Sat, 27 Apr 2013 08:39:21 +0000 (09:39 +0100)]
sasl-ir: Added CURLOPT_SASL_IR to enable/disable the SASL initial response
Daniel Stenberg [Fri, 26 Apr 2013 20:23:08 +0000 (22:23 +0200)]
curl_easy_init: use less mallocs
By introducing an internal alternative to curl_multi_init() that accepts
parameters to set the hash sizes, easy handles will now use tiny socket
and connection hash tables since it will only ever add a single easy
handle to that multi handle.
This decreased the number mallocs in test 40 (which is a rather simple
and typical easy interface use case) from 1142 to 138. The maximum
amount of memory allocated used went down from 118969 to 78805.
Steve Holme [Fri, 26 Apr 2013 20:12:36 +0000 (21:12 +0100)]
ftpserver.pl: Fixed imap logout confirmation data
An IMAP server should response with the BYE continuation response before
confirming the LOGOUT command was successful.
Daniel Stenberg [Fri, 26 Apr 2013 14:45:31 +0000 (16:45 +0200)]
ftp_state_pasv_resp: connect through proxy also when set by env
When connecting back to an FTP server after having sent PASV/EPSV,
libcurl sometimes didn't use the proxy properly even though the proxy
was used for the initial connect.
The function wrongly checked for the CURLOPT_PROXY variable to be set,
which made it act wrongly if the proxy information was set with an
environment variable.
Added test case 711 to verify (based on 707 which uses --socks5). Also
added test712 to verify another variation of setting the proxy: with
--proxy socks5://
Bug: http://curl.haxx.se/bug/view.cgi?id=1218
Reported-by: Zekun Ni
Zdenek Pavlas [Fri, 26 Apr 2013 12:56:38 +0000 (14:56 +0200)]
url: initialize speed-check data for file:// protocol
... in order to prevent an artificial timeout event based on stale
speed-check data from a previous network transfer. This commit fixes
a regression caused by
9dd85bced56f6951107f69e581c872c1e7e3e58e.
Bug: https://bugzilla.redhat.com/906031
Daniel Stenberg [Thu, 25 Apr 2013 21:42:38 +0000 (23:42 +0200)]
test709: clarify the test in the name
Daniel Stenberg [Thu, 25 Apr 2013 21:40:31 +0000 (23:40 +0200)]
sshserver: disable StrictHostKeyChecking
I couldn't figure out why the host key logic isn't working, but having
it set to yes prevents my SSH-based test cases to run. I also don't see
a strong need to use strict host key checking on this test server.
So I disabled it.
Daniel Stenberg [Thu, 25 Apr 2013 21:40:01 +0000 (23:40 +0200)]
runtests: log more commands in verbose mode
... to aid tracking down failures
Steve Holme [Thu, 25 Apr 2013 19:18:08 +0000 (20:18 +0100)]
TODO: Corrected copy/paste typo
Steve Holme [Thu, 25 Apr 2013 19:10:09 +0000 (20:10 +0100)]
TODO: Added new ideas for future SMTP, POP3 and IMAP features
Steve Holme [Thu, 25 Apr 2013 18:48:34 +0000 (19:48 +0100)]
TODO: Updated following the addition of ;auth=<MECH> support
Steve Holme [Thu, 25 Apr 2013 12:30:17 +0000 (13:30 +0100)]
DOCS: Minor rewording / clarification of host name protocol detection
Steve Holme [Wed, 24 Apr 2013 18:40:06 +0000 (19:40 +0100)]
RELEASE-NOTES: synced with
a8c92cb60890
Steve Holme [Wed, 24 Apr 2013 18:35:38 +0000 (19:35 +0100)]
DOCS: Added reference to IETF draft for SMTP URL Interface
...when mentioning login options. Additional minor clarification of
"Windows builds" to be "Windows builds with SSPI"as a way of enabling
NTLM as Windows builds may be built with OpenSSL to enable NTLM or
without NTLM support altogether.
Linus Nielsen Feltzing [Tue, 23 Apr 2013 19:41:38 +0000 (21:41 +0200)]
HISTORY: Fix spelling error.
Steve Holme [Tue, 23 Apr 2013 18:57:12 +0000 (19:57 +0100)]
DOCS: Reworked the scheme calculation explanation under CURLOPT_URL
Steve Holme [Tue, 23 Apr 2013 18:43:06 +0000 (19:43 +0100)]
url: Added smtp and pop3 hostnames to the protocol detection list
Daniel Stenberg [Tue, 23 Apr 2013 14:21:29 +0000 (16:21 +0200)]
HISTORY: correct some years/dates
Thanks to archive.org's wayback machine I updated this document with
some facts from the early httpget/urlget web page:
http://web.archive.org/web/
19980216125115/http://www.inf.ufrgs.br/~sagula/urlget.html
Alessandro Ghedini [Mon, 22 Apr 2013 18:07:15 +0000 (20:07 +0200)]
tests: add test1511 to check timecond clean-up
Verifies the timecond fix in commit
c49ed0b6c0f
Alessandro Ghedini [Sat, 20 Apr 2013 10:09:55 +0000 (12:09 +0200)]
getinfo.c: reset timecond when clearing session-info variables
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705783
Reported-by: Ludovico Cavedon <cavedon@debian.org>
Steve Holme [Mon, 22 Apr 2013 18:21:07 +0000 (19:21 +0100)]
DOCS: Added information about login options to CURLOPT_USERPWD
Steve Holme [Mon, 22 Apr 2013 18:12:46 +0000 (19:12 +0100)]
DOCS: Added information about login options in the URL
Steve Holme [Sun, 21 Apr 2013 17:29:33 +0000 (18:29 +0100)]
url: Fixed missing length check in parse_proxy()
Commit
11332577b3cb removed the length check that was performed by the
old scanf() code.