platform/upstream/curl.git
10 years agoemail: Renamed *_perform_authenticate() functions
Steve Holme [Tue, 17 Dec 2013 22:48:09 +0000 (22:48 +0000)]
email: Renamed *_perform_authenticate() functions

In preparation for the upcoming SASL downgrade feature renamed the
imap__perform_authenticate(), pop3__perform_authenticate() and
smtp__perform_authenticate() functions.

10 years agobump: start working on the next release
Daniel Stenberg [Tue, 17 Dec 2013 15:38:51 +0000 (16:38 +0100)]
bump: start working on the next release

10 years agoRELEASE-NOTES: synced with c0ef05e67
Daniel Stenberg [Mon, 16 Dec 2013 21:46:22 +0000 (22:46 +0100)]
RELEASE-NOTES: synced with c0ef05e67

... for the pending 7.34.0 release

Upped the contributor count

10 years agoTHANKS: add contributors from 7.34.0 release
Daniel Stenberg [Mon, 16 Dec 2013 21:52:41 +0000 (22:52 +0100)]
THANKS: add contributors from 7.34.0 release

24 new great friends

10 years agogtls: respect *VERIFYHOST independently of *VERIFYPEER
Daniel Stenberg [Fri, 29 Nov 2013 21:46:05 +0000 (22:46 +0100)]
gtls: respect *VERIFYHOST independently of *VERIFYPEER

Security flaw CVE-2013-6422

This is conceptually the same problem and fix that 3c3622b6 brought to the
OpenSSL backend and that resulted in CVE-2013-4545.

This version of the problem was independently introduced to the GnuTLS
backend with commit 59cf93cc, present in the code since the libcurl
7.21.4 release.

Advisory: http://curl.haxx.se/docs/adv_20131217.html
Bug: http://curl.haxx.se/mail/lib-2013-11/0214.html
Reported-by: Marc Deslauriers
10 years agocurl.1 document -J doesn't %-decode
Daniel Stenberg [Sun, 15 Dec 2013 22:38:37 +0000 (23:38 +0100)]
curl.1 document -J doesn't %-decode

...also added as KNOWN_BUG #87 with reference to bug #1294

10 years agomulti: add timer inaccuracy margin to timeout/connecttimeout
Daniel Stenberg [Mon, 2 Dec 2013 14:33:32 +0000 (15:33 +0100)]
multi: add timer inaccuracy margin to timeout/connecttimeout

Since all systems have inaccuracy in the timeout handling it is
imperative that we add an inaccuracy margin to the general timeout and
connecttimeout handling with the multi interface. This way, when the
timeout fires we should be fairly sure that it has passed the timeout
value and will be suitably detected.

For cases where the timeout fire before the actual timeout, we would
otherwise consume the timeout action and still not run the timeout code
since the condition wasn't met.

Reported-by: He Qin
Bug: http://curl.haxx.se/bug/view.cgi?id=1298

10 years agoRELEASE-NOTES: synced with dd4d9ea542
Daniel Stenberg [Sat, 14 Dec 2013 22:22:52 +0000 (23:22 +0100)]
RELEASE-NOTES: synced with dd4d9ea542

10 years agocurl_easy_setopt: clarify some USERPWD and PROXYUSERPWD details
Daniel Stenberg [Sat, 14 Dec 2013 22:09:05 +0000 (23:09 +0100)]
curl_easy_setopt: clarify some USERPWD and PROXYUSERPWD details

10 years agologin options: remove the ;[options] support from CURLOPT_USERPWD
Daniel Stenberg [Sat, 14 Dec 2013 21:39:27 +0000 (22:39 +0100)]
login options: remove the ;[options] support from CURLOPT_USERPWD

To avoid the regression when users pass in passwords containing semi-
colons, we now drop the ability to set the login options with the same
options. Support for login options in CURLOPT_USERPWD was added in
7.31.0.

Test case 83 was modified to verify that colons and semi-colons can be
used as part of the password when using -u (CURLOPT_USERPWD).

Bug: http://curl.haxx.se/bug/view.cgi?id=1311
Reported-by: Petr Bahula
Assisted-by: Steve Holme
Signed-off-by: Daniel Stenberg <daniel@haxx.se>
10 years agoimap: Fixed exclude of clear text when using auth=* in commit 75cd7fd66762bb
Steve Holme [Sat, 14 Dec 2013 12:23:23 +0000 (12:23 +0000)]
imap: Fixed exclude of clear text when using auth=* in commit 75cd7fd66762bb

It is not 100% clear whether * should include clear text LOGIN or not
from RFC-5092, however, including it is then consistent with current
POP3 behaviour where clear text, APOP or SASL may be chosen.

10 years agoimap: Fixed incorrect fallback to clear text authentication
Steve Holme [Fri, 13 Dec 2013 22:57:13 +0000 (22:57 +0000)]
imap: Fixed incorrect fallback to clear text authentication

If a specific SASL authentication mechanism was requested by the user
as part of the login options but wasn't supported by the server then
curl would fallback to clear text, when it shouldn't, rather than
reporting "No known authentication mechanisms supported" as the POP3
and SMTP protocols do.

10 years agoparsedate: avoid integer overflow
Eric Lubin [Wed, 11 Dec 2013 04:01:07 +0000 (20:01 -0800)]
parsedate: avoid integer overflow

In C, signed integer overflow is undefined behavior. Thus, the compiler
is allowed to assume that it will not occur. In the check for an
overflow, the developer assumes that the signed integer of type time_t
will wrap around if it overflows. However, this behavior is undefined in
the C standard. Thus, when the compiler sees this, it simplifies t +
delta < t to delta < 0. Since delta > 0 and delta < 0 can't both be
true, the entire if statement is optimized out under certain
optimization levels. Thus, the parsedate function would return
PARSEDATE_OK with an undefined value in the time, instead of return -1 =
PARSEDATE_FAIL.

10 years agoparseconfig: warn if unquoted white spaces are detected
Daniel Stenberg [Mon, 9 Dec 2013 07:19:04 +0000 (08:19 +0100)]
parseconfig: warn if unquoted white spaces are detected

Commit 0db811b6 made some existing config files pass on unexpected
values to libcurl that made it somewhat hard to track down what was
really going on.

This code detects unquoted white spaces in the parameter when parsing a
config file as that would be one symptom and it is generally a bad
syntax anyway.

10 years agoRELEASE-NOTES: recount contributors and libcurl options
Daniel Stenberg [Mon, 9 Dec 2013 10:56:01 +0000 (11:56 +0100)]
RELEASE-NOTES: recount contributors and libcurl options

10 years agoRELEASE-NOTES: synced with c4f46e97ca6c
Daniel Stenberg [Sat, 7 Dec 2013 21:52:31 +0000 (22:52 +0100)]
RELEASE-NOTES: synced with c4f46e97ca6c

10 years agoTFTP: let tftp_multi_statemach()'s return codes through
James Dury [Sat, 7 Dec 2013 14:53:08 +0000 (15:53 +0100)]
TFTP: let tftp_multi_statemach()'s return codes through

It would otherwise always clobber the return code with new function
calls and it couldn't return timeout etc.

Bug: http://curl.haxx.se/bug/view.cgi?id=1310

10 years agodarwinssl: Fix #if 10.6.0 for SecKeychainSearch
Melissa Mears [Wed, 4 Dec 2013 00:07:32 +0000 (16:07 -0800)]
darwinssl: Fix #if 10.6.0 for SecKeychainSearch

The comment here says that SecKeychainSearch causes a deprecation
warning when used with a minimum Mac OS X SDK version of 10.7.0, which
is correct.  However, the #if guard did not match.  It was intended to
only use the code if 10.6.0 support was enabled, but it had 10.7.0
instead.  This caused a warning if the minimum was exactly 10.7.0.

10 years agocurl.h: <sys/select.h> for OpenBSD
Christian Weisgerber [Wed, 4 Dec 2013 15:45:50 +0000 (16:45 +0100)]
curl.h: <sys/select.h> for OpenBSD

curl.h should also include <sys/select.h> on OpenBSD to reliably
pull in select().  Typically, including <sys/time.h> will be enough,
but not if strict standards-compliance is requested (e.g. by defining
_XOPEN_SOURCE).

10 years agodigest: fix CURLAUTH_DIGEST_IE
Daniel Stenberg [Wed, 4 Dec 2013 22:08:17 +0000 (23:08 +0100)]
digest: fix CURLAUTH_DIGEST_IE

The URI that is passed in as part of the Authorization: header needs to
be cut off at '?' if CURLAUTH_DIGEST_IE is set. Previously the code only
did when calculating the MD5sum.

Bug: http://curl.haxx.se/bug/view.cgi?id=1308
Patched-by: Sergey Tatarincev
10 years agoCurl_is_connected: use proxy name in error message when proxy is used
Daniel Stenberg [Wed, 4 Dec 2013 21:46:49 +0000 (22:46 +0100)]
Curl_is_connected: use proxy name in error message when proxy is used

(bug introduced in 255826c4, never present in a release)

Reported-by: Dima Tisnek
Bug: http://curl.haxx.se/mail/lib-2013-12/0006.html

10 years agoimap/pop3: Post graceful cancellation consistency changes
Steve Holme [Wed, 4 Dec 2013 20:10:33 +0000 (20:10 +0000)]
imap/pop3: Post graceful cancellation consistency changes

10 years agopop3: Fix POP3_TYPE_ANY signed compilation warning
Melissa Mears [Tue, 3 Dec 2013 23:56:39 +0000 (15:56 -0800)]
pop3: Fix POP3_TYPE_ANY signed compilation warning

POP3_TYPE_ANY, or ~0, is written to pop3c->preftype in lib/pop3c.c, an
unsigned int variable.  The result of ~0 is -1, which caused a warning
due to writing a negative number to an unsigned variable.  To fix this,
make the expression ~0U so that its value is considered the unsigned
number UINT_MAX which is what SASL_AUTH_ANY does in curl_sasl.h.

10 years agotool_metalink: do not use HAVE_NSS_INITCONTEXT
Kamil Dudka [Mon, 2 Dec 2013 16:00:35 +0000 (17:00 +0100)]
tool_metalink: do not use HAVE_NSS_INITCONTEXT

... no longer provided by the configure script

10 years agonss: make sure that 'sslver' is always initialized
Kamil Dudka [Mon, 2 Dec 2013 15:09:12 +0000 (16:09 +0100)]
nss: make sure that 'sslver' is always initialized

10 years agonss: unconditionally require NSS_InitContext()
Kamil Dudka [Mon, 2 Dec 2013 13:25:07 +0000 (14:25 +0100)]
nss: unconditionally require NSS_InitContext()

... since we depend on NSS 3.14+ because of SSL_VersionRangeSet() anyway

10 years agonss: allow to use TLS > 1.0 if built against recent NSS
Kamil Dudka [Mon, 25 Nov 2013 15:25:15 +0000 (16:25 +0100)]
nss: allow to use TLS > 1.0 if built against recent NSS

Bug: http://curl.haxx.se/mail/lib-2013-11/0162.html

10 years agonss: put SSL version selection into separate fnc
Kamil Dudka [Mon, 25 Nov 2013 15:14:55 +0000 (16:14 +0100)]
nss: put SSL version selection into separate fnc

10 years agonss: use a better API for controlling SSL version
Kamil Dudka [Mon, 25 Nov 2013 15:03:52 +0000 (16:03 +0100)]
nss: use a better API for controlling SSL version

This change introduces a dependency on NSS 3.14+.

10 years agoOS400: sync wrappers and RPG binding.
Patrick Monnerat [Mon, 2 Dec 2013 13:33:51 +0000 (14:33 +0100)]
OS400: sync wrappers and RPG binding.

10 years agomulti.c: Fixed compilation warning
Steve Holme [Sun, 1 Dec 2013 20:22:44 +0000 (20:22 +0000)]
multi.c: Fixed compilation warning

warning: declaration of 'pipe' shadows a global declaration

10 years agoRELEASE-NOTES: Synced with ad3836448efbb7
Steve Holme [Sun, 1 Dec 2013 16:50:16 +0000 (16:50 +0000)]
RELEASE-NOTES: Synced with ad3836448efbb7

10 years agobase64: Corrected typo from commit f3ee587775c88a
Steve Holme [Sun, 1 Dec 2013 16:40:55 +0000 (16:40 +0000)]
base64: Corrected typo from commit f3ee587775c88a

10 years agobase64: Post extended extended validation tidy up
Steve Holme [Sun, 1 Dec 2013 13:47:11 +0000 (13:47 +0000)]
base64: Post extended extended validation tidy up

Reduced the separate processing of the last quantum to be performed in
the main decoding loop and renamed some variables for consistency.

10 years agobase64: Extended validation to look for invalid characters
Steve Holme [Sun, 1 Dec 2013 11:05:11 +0000 (11:05 +0000)]
base64: Extended validation to look for invalid characters

Extended the basic validation in commit e17c1b25bc33eb to return a
failure when invalid base64 characters are included.

10 years agobase64: Post basic validation tidy up
Steve Holme [Sat, 30 Nov 2013 19:09:09 +0000 (19:09 +0000)]
base64: Post basic validation tidy up

Due to the length checks introduced in commit e17c1b25bc33eb there is no
need to allow for extra space in the output buffer for a non-padded last
quantum.

10 years agocurl_easy_getinfo: Post CURLINFO_TLS_SESSION tidy up
Steve Holme [Sat, 30 Nov 2013 10:59:01 +0000 (10:59 +0000)]
curl_easy_getinfo: Post CURLINFO_TLS_SESSION tidy up

1) Renamed curl_tlsinfo to curl_tlssessioninfo as discussed on the
mailing list.
2) Renamed curl_ssl_backend to curl_sslbackend so it doesn't follow our
function naming convention.
3) Updated sessioninfo.c example accordingly.

10 years agoparseconfig: dash options can't specified with colon or equals
Daniel Stenberg [Wed, 6 Nov 2013 22:57:44 +0000 (23:57 +0100)]
parseconfig: dash options can't specified with colon or equals

Bug: http://curl.haxx.se/bug/view.cgi?id=1297
Reported-by: Michael Osipov
10 years agocurl.1: -G also takes --data-urlencode data
Daniel Stenberg [Fri, 29 Nov 2013 14:10:27 +0000 (15:10 +0100)]
curl.1: -G also takes --data-urlencode data

10 years agoglobbing: curl glob counter mismatch with {} list use
Daniel Stenberg [Thu, 28 Nov 2013 22:31:31 +0000 (23:31 +0100)]
globbing: curl glob counter mismatch with {} list use

The "fixed string" function wrongly bumped the "urlnum" counter which
made curl output the total number of URLs wrong when using
{one,two,three} lists in globs.

Reported-by: Michael-O
Bug: http://curl.haxx.se/bug/view.cgi?id=1305

10 years agosessioninfo.c: Added sample code for CURLINFO_TLS_SESSION
Christian Grothoff [Wed, 27 Nov 2013 22:37:09 +0000 (23:37 +0100)]
sessioninfo.c: Added sample code for CURLINFO_TLS_SESSION

Added a simple example to show how one can use CURLINFO_TLS_SESSION for
obtaining extensive TLS certificate information.

10 years agomulti.c: Fixed compilation error introduced in commit a900d45489fc14
Steve Holme [Wed, 27 Nov 2013 22:44:09 +0000 (22:44 +0000)]
multi.c: Fixed compilation error introduced in commit a900d45489fc14

Systems that define SIGPIPE_VARIABLE as a noop would not compile as
restore_pipe was defined afterwards.

10 years agocurl_easy_getopt: Handle API violation gracefully
Christian Grothoff [Wed, 27 Nov 2013 22:28:26 +0000 (23:28 +0100)]
curl_easy_getopt: Handle API violation gracefully

This fixes a NULL dereference in the case where the client asks for
CURLINFO_TLS_SESSION data after the (TLS) session has already been
destroyed (i.e. curl_easy_perform has already completed for this
handle). Instead of crashing, we now return a CURLSSLBACKEND_NONE
error.

10 years agoKNOWN_BUGS: #86: Disconnect commands may not be sent by IMAP, POP3 and SMTP
Steve Holme [Wed, 27 Nov 2013 22:33:22 +0000 (22:33 +0000)]
KNOWN_BUGS: #86: Disconnect commands may not be sent by IMAP, POP3 and SMTP

10 years agocurl_multi_cleanup: ignore SIGPIPE
Jeff King [Mon, 25 Nov 2013 14:43:21 +0000 (15:43 +0100)]
curl_multi_cleanup: ignore SIGPIPE

This is an extension to the fix in 7d80ed64e43515. We may
call Curl_disconnect() while cleaning up the multi handle,
which could lead to openssl sending packets, which could get
a SIGPIPE.

Signed-off-by: Jeff King <peff@peff.net>
10 years agosigpipe: factor out sigpipe_reset from easy.c
Jeff King [Mon, 25 Nov 2013 14:35:37 +0000 (15:35 +0100)]
sigpipe: factor out sigpipe_reset from easy.c

Commit 7d80ed64e43515 introduced some helpers to handle
sigpipe in easy.c. However, that fix was incomplete, and we
need to add more callers in other files. The first step is
making the helpers globally accessible.

Since the functions are small and should generally end up
inlined anyway, we simply define them in the header as
static functions.

Signed-off-by: Jeff King <peff@peff.net>
10 years agoconnect: Try next ip directly after immediate connect fail
Björn Stenberg [Mon, 25 Nov 2013 23:04:28 +0000 (00:04 +0100)]
connect: Try next ip directly after immediate connect fail

This fixes a rare Happy Eyeballs bug where if the first IP family runs
out of addresses before the second-family-timer fires, and the second
IP family's first connect fails immediately, no further IPs of the
second family are attempted.

10 years agohostip: don't prune DNS cache entries that are in use
Daniel Stenberg [Sun, 24 Nov 2013 22:42:54 +0000 (23:42 +0100)]
hostip: don't prune DNS cache entries that are in use

When adding entries to the DNS cache with CURLOPT_RESOLVE, they are
marked 'inuse' forever to prevent them from ever being removed in normal
operations. Still, the code that pruned out-of-date DNS entries didn't
care for the 'inuse' struct field and pruned it anyway!

Reported-by: Romulo A. Ceccon
Bug: http://curl.haxx.se/bug/view.cgi?id=1303

10 years agoRELEASE-NOTES: Synced with 35e476a3f6cdd5
Steve Holme [Sun, 24 Nov 2013 18:00:18 +0000 (18:00 +0000)]
RELEASE-NOTES: Synced with 35e476a3f6cdd5

10 years agotests: Re-ordered test arguments to match other IMAP tests
Steve Holme [Sun, 24 Nov 2013 17:55:15 +0000 (17:55 +0000)]
tests: Re-ordered test arguments to match other IMAP tests

10 years agotests: Corrected login "username" authentication responses
Steve Holme [Sun, 24 Nov 2013 16:19:12 +0000 (16:19 +0000)]
tests: Corrected login "username" authentication responses

10 years agotests: Added error code explanation comments
Steve Holme [Sun, 24 Nov 2013 12:33:21 +0000 (12:33 +0000)]
tests: Added error code explanation comments

10 years agotests: Removed expected QUIT response from graceful cancellation tests
Steve Holme [Sun, 24 Nov 2013 10:59:59 +0000 (10:59 +0000)]
tests: Removed expected QUIT response from graceful cancellation tests

A failure during authentication, which is performed as part of the
CONNECT phrase (for IMAP, POP3 and SMTP) is considered by the multi-
interface as being closed prematurely (aka a dead connection). As such
these protocols cannot issue the relevant QUIT or LOGOUT command.

Temporarily fixed the test cases until we can fix this properly.

10 years agotests: Added SMTP graceful authentication cancellation tests
Steve Holme [Sat, 23 Nov 2013 15:06:31 +0000 (15:06 +0000)]
tests: Added SMTP graceful authentication cancellation tests

10 years agotests: Added POP3 graceful authentication cancellation tests
Steve Holme [Sat, 23 Nov 2013 14:46:32 +0000 (14:46 +0000)]
tests: Added POP3 graceful authentication cancellation tests

10 years agoftpserver.pl: Reworked fix from commit 7a36b2abc06862
Steve Holme [Sat, 23 Nov 2013 22:14:34 +0000 (22:14 +0000)]
ftpserver.pl: Reworked fix from commit 7a36b2abc06862

10 years agoftpserver.pl: Fixed unknown IMAP command "*"
Steve Holme [Sat, 23 Nov 2013 19:19:12 +0000 (19:19 +0000)]
ftpserver.pl: Fixed unknown IMAP command "*"

10 years agoftpserver.pl: Fixed servercmd REPLY with * detection
Steve Holme [Sat, 23 Nov 2013 16:25:37 +0000 (16:25 +0000)]
ftpserver.pl: Fixed servercmd REPLY with * detection

10 years agotests: Added IMAP graceful authentication cancellation tests
Steve Holme [Sat, 23 Nov 2013 14:26:33 +0000 (14:26 +0000)]
tests: Added IMAP graceful authentication cancellation tests

10 years agotests: Moved CR LF in URL tests to their respective protocol groups
Steve Holme [Sat, 23 Nov 2013 14:06:10 +0000 (14:06 +0000)]
tests: Moved CR LF in URL tests to their respective protocol groups

10 years agosmtp: Post SMTP command expansion tidy up
Steve Holme [Sat, 23 Nov 2013 09:35:35 +0000 (09:35 +0000)]
smtp: Post SMTP command expansion tidy up

Removed unnecessary SMTP_STOP state changes on failure.

Removed hard return on failure in smtp_state_data_resp().

10 years agosymbols-in-versions: Added missing CURLSSLBACKEND_* symbols
Steve Holme [Fri, 22 Nov 2013 12:59:35 +0000 (12:59 +0000)]
symbols-in-versions: Added missing CURLSSLBACKEND_* symbols

10 years agosymbols-in-versions: Fixed missing CURLINFO_TLS_SESSION
Steve Holme [Fri, 22 Nov 2013 07:30:00 +0000 (07:30 +0000)]
symbols-in-versions: Fixed missing CURLINFO_TLS_SESSION

10 years agocurl_easy_getinfo: Added CURLINFO_TLS_SESSION for accessing TLS internals
Christian Grothoff [Sun, 17 Nov 2013 19:49:16 +0000 (20:49 +0100)]
curl_easy_getinfo: Added CURLINFO_TLS_SESSION for accessing TLS internals

Added new API for returning a SSL backend type and pointer, in order to
allow access to the TLS internals, that may then be used to obtain X509
certificate information for example.

10 years agoRELEASE-NOTES: Synced with 8191800a0c8ff7
Steve Holme [Sun, 17 Nov 2013 16:55:56 +0000 (16:55 +0000)]
RELEASE-NOTES: Synced with 8191800a0c8ff7

10 years agosmtp: Fixed space being sent in non --mail-rcpt based requests
Steve Holme [Sun, 17 Nov 2013 16:39:02 +0000 (16:39 +0000)]
smtp: Fixed space being sent in non --mail-rcpt based requests

Commands such as NOOP, RSET and HELP would be sent with a space at the
end of the command, for example: "NOOP ".

10 years agotests: Added SMTP NOOP and RSET tests
Steve Holme [Sun, 17 Nov 2013 10:13:05 +0000 (10:13 +0000)]
tests: Added SMTP NOOP and RSET tests

10 years agotest928: Corrected typo in expected data from commit df58084695ce9b
Steve Holme [Sun, 17 Nov 2013 12:37:59 +0000 (12:37 +0000)]
test928: Corrected typo in expected data from commit df58084695ce9b

10 years agotests: Added SMTP HELP test
Steve Holme [Sun, 17 Nov 2013 10:03:25 +0000 (10:03 +0000)]
tests: Added SMTP HELP test

10 years agosmtp: Changed the default command to HELP when no options are specified
Steve Holme [Sun, 17 Nov 2013 09:45:08 +0000 (09:45 +0000)]
smtp: Changed the default command to HELP when no options are specified

Otherwise a NOOP operation would be performed which a) only returns a
single line response and not a multiline response where -I needs to be
used, and b) provides an inconsistent user experience compared to that
of the POP3 and IMAP protocols.

10 years agosmtp:Fixed memory leak from commit dac01ff6d788b2
Steve Holme [Sun, 17 Nov 2013 09:00:21 +0000 (09:00 +0000)]
smtp:Fixed memory leak from commit dac01ff6d788b2

The buffer allocated by smtp_parse_custom_request() was not freed.

10 years agoconnect: Close open but unconnected socket in singleipconnect()
Steve Holme [Sat, 16 Nov 2013 22:56:11 +0000 (22:56 +0000)]
connect: Close open but unconnected socket in singleipconnect()

singleipconnect() could return the file descriptor of an open socket
even though the function returned a CURLE_COULDNT_CONNECT error code
from commit ed1662c374361a and 02fbc26d59c591.

This could cause tests 19, 704 and 1233 to fail on FreeBSD, AIX and
Solaris.

10 years agotests: Added SMTP EXPN command test
Steve Holme [Sat, 16 Nov 2013 12:10:15 +0000 (12:10 +0000)]
tests: Added SMTP EXPN command test

10 years agotest926: Corrected unknown user reply from commit 0d735c29f92748
Steve Holme [Sat, 16 Nov 2013 20:33:08 +0000 (20:33 +0000)]
test926: Corrected unknown user reply from commit 0d735c29f92748

The error code should not be sent as data as it isn't passed onto the
client as body data, so cannot be compared in the test suite against
expected data.

10 years agotests: Corrected missing data reply sections from 3d50e91aeef8cc
Steve Holme [Sat, 16 Nov 2013 17:19:26 +0000 (17:19 +0000)]
tests: Corrected missing data reply sections from 3d50e91aeef8cc

10 years agotests: Added SMTP VRFY command tests
Steve Holme [Sat, 16 Nov 2013 12:00:30 +0000 (12:00 +0000)]
tests: Added SMTP VRFY command tests

10 years agoftpserver.pl: Added support for new SMTP commands
Steve Holme [Sat, 16 Nov 2013 11:11:45 +0000 (11:11 +0000)]
ftpserver.pl: Added support for new SMTP commands

10 years agosmtp: Fixed broken RCPT TO from commit 0ea4a80bb23666
Steve Holme [Fri, 15 Nov 2013 22:20:56 +0000 (22:20 +0000)]
smtp: Fixed broken RCPT TO from commit 0ea4a80bb23666

10 years agosmtp_state_mail_resp: removed unused variable 'smtp'
Daniel Stenberg [Fri, 15 Nov 2013 21:43:34 +0000 (22:43 +0100)]
smtp_state_mail_resp: removed unused variable 'smtp'

10 years agoDOCS: Updated curl_easy_setopt.3 following recent SMTP changes
Steve Holme [Fri, 15 Nov 2013 21:15:38 +0000 (21:15 +0000)]
DOCS: Updated curl_easy_setopt.3 following recent SMTP changes

* Added information about the verify and expand commands to
  CURLOPT_MAIL_RCPT.
* Reworked CURLOPT_CUSTOMREQUEST section, adding information about IMAP
  and SMTP custom commands.

10 years agoDOCS: Updated manpage following recent SMTP modifications
Steve Holme [Fri, 15 Nov 2013 20:55:55 +0000 (20:55 +0000)]
DOCS: Updated manpage following recent SMTP modifications

* Added SMTP section to --request
* Expanded --mail-rcpt to describe the usage when using the verify and
  expand commands.

10 years agosmtp: Simplified the next RCPT TO logic
Steve Holme [Fri, 15 Nov 2013 18:30:04 +0000 (18:30 +0000)]
smtp: Simplified the next RCPT TO logic

10 years agolib1507.c: Added missing set of CURLOPT_UPLOAD option
Steve Holme [Fri, 15 Nov 2013 20:35:43 +0000 (20:35 +0000)]
lib1507.c: Added missing set of CURLOPT_UPLOAD option

Although this option should have already been set, the SMTP module can
now download information from and send instructional commands to, an
SMTP server, requiring the option to be set in order to perform a mail
transfer.

10 years agosmtp.c: Fixed trailing whitespace
Steve Holme [Fri, 15 Nov 2013 20:22:01 +0000 (20:22 +0000)]
smtp.c: Fixed trailing whitespace

10 years agosmtp: Added support for VRFY and EXPN commands
Steve Holme [Fri, 15 Nov 2013 18:20:12 +0000 (18:20 +0000)]
smtp: Added support for VRFY and EXPN commands

10 years agosmtp: Added support for NOOP and RSET commands
Steve Holme [Fri, 15 Nov 2013 16:10:05 +0000 (16:10 +0000)]
smtp: Added support for NOOP and RSET commands

10 years agosmtp: Fixed handling of multiline server greeting responses
Steve Holme [Fri, 15 Nov 2013 12:50:37 +0000 (12:50 +0000)]
smtp: Fixed handling of multiline server greeting responses

Incorrectly processed multiline server greeting responses as "wanted"
continue responses in smtp_endofresp(), from commit f16c0de4e9bbe3,
which in turn broke the SMTP server detection in the test suite,
because the EHLO command would not be sent.

10 years agosmtp.c: Fixed compilation error from commit f16c0de4e9bbe3
Steve Holme [Fri, 15 Nov 2013 12:14:09 +0000 (12:14 +0000)]
smtp.c: Fixed compilation error from commit f16c0de4e9bbe3

warning: unused variable 'smtpc'

10 years agosmtp: Fixed processing of more than one response when sent in same packet
Steve Holme [Fri, 15 Nov 2013 10:54:47 +0000 (10:54 +0000)]
smtp: Fixed processing of more than one response when sent in same packet

Added a loop to smtp_statemach_act() in which Curl_pp_readresp() is
called until the cache is drained. Without this multiple responses
received in a single packet could result in a hang or delay.

10 years agosmtp: Moved EHLO response handling to smtp_state_ehlo_resp()
Steve Holme [Fri, 15 Nov 2013 10:46:29 +0000 (10:46 +0000)]
smtp: Moved EHLO response handling to smtp_state_ehlo_resp()

Similar to the processing of untagged CAPABILITY responses in IMAP moved
the processing of multiline EHLO responses to smtp_state_ehlo_resp() and
introduced an internal response code of one to differentiate a multiline
continuation from the end of command. This also allows for the separate
processing of multiline responses from commands such as VRFY and EXPN.

10 years agoconnect: Forgot to correct line endings before push in commit ed1662c374361a
Steve Holme [Thu, 14 Nov 2013 20:43:15 +0000 (20:43 +0000)]
connect: Forgot to correct line endings before push in commit ed1662c374361a

10 years agoconnect: Return the socket descriptor even on fail
Björn Stenberg [Tue, 12 Nov 2013 20:09:03 +0000 (21:09 +0100)]
connect: Return the socket descriptor even on fail

singleipconnect() did not return the open socket descriptor on some
errors, thereby sometimes causing a socket leak. This patch ensures
the socket is always returned.

10 years agoconfigure: Fix test with -Werror=implicit-function-declaration
Daniel Stenberg [Thu, 14 Nov 2013 02:58:25 +0000 (18:58 -0800)]
configure: Fix test with -Werror=implicit-function-declaration

The ipv6 auto-detect test in configure returns a false negative when
CFLAGS contains -Werror=implicit-function-declaration. (I have been
using this flag to detect code issues that would result in SEGVs on
x86_64-cygwin.)

Patch-by: Yaakov Selkowitz
Bug: http://curl.haxx.se/bug/view.cgi?id=1304

10 years agotest825: Corrected typo from commit b29217d0d682d4
Steve Holme [Wed, 13 Nov 2013 17:31:42 +0000 (17:31 +0000)]
test825: Corrected typo from commit b29217d0d682d4

10 years agoRELEASE-NOTES: Synced with bde901ad89a6f1
Steve Holme [Wed, 13 Nov 2013 10:12:01 +0000 (10:12 +0000)]
RELEASE-NOTES: Synced with bde901ad89a6f1

10 years agotest922: Corrected title to match other OAuth 2.0 tests
Steve Holme [Wed, 13 Nov 2013 09:17:15 +0000 (09:17 +0000)]
test922: Corrected title to match other OAuth 2.0 tests

10 years agotests: Added IMAP OAuth 2.0 authentication with initial response test
Steve Holme [Wed, 13 Nov 2013 09:12:15 +0000 (09:12 +0000)]
tests: Added IMAP OAuth 2.0 authentication with initial response test

10 years agotests: Added IMAP NTLM authentication with initial response test
Steve Holme [Wed, 13 Nov 2013 09:02:20 +0000 (09:02 +0000)]
tests: Added IMAP NTLM authentication with initial response test

10 years agotests: Added IMAP login authentication with initial response test
Steve Holme [Wed, 13 Nov 2013 08:52:25 +0000 (08:52 +0000)]
tests: Added IMAP login authentication with initial response test

10 years agotests: Added IMAP plain authentication with initial response test
Steve Holme [Wed, 13 Nov 2013 08:42:30 +0000 (08:42 +0000)]
tests: Added IMAP plain authentication with initial response test