Daniel Stenberg [Wed, 1 Jan 2014 21:32:55 +0000 (22:32 +0100)]
CMakeLists.txt: add warning about the cmake build's state
Steve Holme [Wed, 1 Jan 2014 20:42:03 +0000 (20:42 +0000)]
examples: Updated SMTP multi example to be more realistic
Updated the contents of the email and payload callback as per the IMAP
and other SMTP examples.
Barry Abrahamson [Wed, 1 Jan 2014 04:28:35 +0000 (05:28 +0100)]
OpenSSL: Fix forcing SSLv3 connections
Since
ad34a2d5c87c7f4b14e8dded3 (present in 7.34.0 release) forcing
SSLv3 will always return the error "curl: (35) Unsupported SSL protocol
version" Can be replicated with `curl -I -3 https://www.google.com/`.
This fix simply allows for v3 to be forced.
Steve Holme [Wed, 1 Jan 2014 19:31:22 +0000 (19:31 +0000)]
examples: Corrected unescaped backslash in imap-store.c
Steve Holme [Wed, 1 Jan 2014 18:31:42 +0000 (18:31 +0000)]
examples: Update SMTP TLS example mail content to be RFC-2821 compliant
...and made some minor coding style changes to better match the curl
coding standards as well as the other email related examples.
Steve Holme [Wed, 1 Jan 2014 18:00:18 +0000 (18:00 +0000)]
examples: Added IMAP APPEND example
Steve Holme [Wed, 1 Jan 2014 17:15:03 +0000 (17:15 +0000)]
examples: Added IMAP STORE example
Steve Holme [Tue, 31 Dec 2013 16:40:00 +0000 (16:40 +0000)]
RELEASE-NOTES: Synced with
7de2e032584d44
Steve Holme [Tue, 31 Dec 2013 16:22:28 +0000 (16:22 +0000)]
examples: Added IMAP LIST mailbox example
Steve Holme [Tue, 31 Dec 2013 16:00:16 +0000 (16:00 +0000)]
examples: Updated IMAP fetch example for libcurl 7.30.0
Steve Holme [Tue, 31 Dec 2013 15:45:15 +0000 (15:45 +0000)]
examples: Rename before adding additional email examples
Steve Holme [Tue, 31 Dec 2013 14:28:47 +0000 (14:28 +0000)]
examples: Added SMTP EXPN command example
Steve Holme [Tue, 31 Dec 2013 13:22:40 +0000 (13:22 +0000)]
examples: Added SMTP email verification example
Steve Holme [Tue, 31 Dec 2013 12:16:33 +0000 (12:16 +0000)]
imap: Fixed line length warning
Steve Holme [Tue, 31 Dec 2013 11:10:25 +0000 (11:10 +0000)]
mprintf: Replaced internal usage of FORMAT_OFF_T and FORMAT_OFF_TU
Following commit
0aafd77fa4c6f2, replaced the internal usage of
FORMAT_OFF_T and FORMAT_OFF_TU with the external versions that we
expect API programmers to use.
This negates the need for separate definitions which were subtly
different under different platforms/compilers.
Steve Holme [Tue, 31 Dec 2013 00:26:10 +0000 (00:26 +0000)]
examples: Updated copyright year for recent edits
Steve Holme [Tue, 31 Dec 2013 00:21:10 +0000 (00:21 +0000)]
examples: Corrected incorrect indentation in smtp-multi.c
Steve Holme [Tue, 31 Dec 2013 00:19:10 +0000 (00:19 +0000)]
examples: Updated SMTP examples to set CURLOPT_UPLOAD
Steve Holme [Sun, 29 Dec 2013 14:45:28 +0000 (14:45 +0000)]
mprintf: Added support for I, I32 and I64 size specifiers
Added support to the built-in printf() replacement functions, for these
non-ANSI extensions when compiling under Visual Studio, Borland, Watcom
and MinGW.
This fixes problems when generating libcurl source code that contains
curl_off_t variables.
Steve Holme [Sun, 29 Dec 2013 16:59:59 +0000 (16:59 +0000)]
curl_easy_setopt.3: Added SMTP information to CURLOPT_INFILESIZE_LARGE
Although added to CURLOPT_INFILESIZE in commit
ee3d3adc6fe155 it was
never added to CURLOPT_INFILESIZE_LARGE.
Steve Holme [Sat, 28 Dec 2013 20:22:22 +0000 (20:22 +0000)]
tests: Disabled NTLM tests when running with SSPI enabled
Steve Holme [Sat, 28 Dec 2013 19:44:07 +0000 (19:44 +0000)]
connect.c: Fixed compilation warning
warning: 'res' may be used uninitialized in this function
Steve Holme [Sat, 28 Dec 2013 16:32:48 +0000 (16:32 +0000)]
runtests.pl: Fixed slightly incorrect regex in commit
28dd47d4d41900
Björn Stenberg [Sat, 28 Dec 2013 12:42:57 +0000 (13:42 +0100)]
connect: Try all addresses in first connection attempt
Fixes a bug when all addresses in the first family fail immediately, due
to "Network unreachable" for example, curl would hang and never try the
next address family.
Iterate through all address families when to trying establish the first
connection attempt.
Bug: http://curl.haxx.se/bug/view.cgi?id=1315
Reported-by: Michal Górny and Anthony G. Basile
Steve Holme [Sat, 28 Dec 2013 11:31:43 +0000 (11:31 +0000)]
runtests.pl: Optimised feature present checking code
...to exclude not present features.
Steve Holme [Sat, 28 Dec 2013 11:11:18 +0000 (11:11 +0000)]
runtests.pl: Added the ability to run tests when a feature is not present
Steve Holme [Fri, 27 Dec 2013 20:12:20 +0000 (20:12 +0000)]
ftpserver.pl: Fixed compilation error
Unmatched right curly bracket at line 758, at end of line
Steve Holme [Fri, 27 Dec 2013 18:12:06 +0000 (18:12 +0000)]
ftpserver.pl: Reworked SMTP verified server detection
Following the addition of informational commands to the SMTP protocol,
the test server is no longer required to return the verified server
information in responses that curl only outputs in verbose mode.
Instead, a similar detection mechanism to that used by FTP, IMAP and
POP3 can now be used.
Steve Holme [Fri, 27 Dec 2013 12:08:04 +0000 (12:08 +0000)]
sendf.c: Fixed compilation warning from
f2d234a4dd9bcc
sendf.c:450:81: warning: Longer than 79 columns
Steve Holme [Fri, 27 Dec 2013 10:55:01 +0000 (10:55 +0000)]
FILE: Fixed sending of data would always return CURLE_WRITE_ERROR
Introduced in commit
2a4ee0d2215556 sending of data via the FILE
protocol would always return CURLE_WRITE_ERROR regardless of whether
CURL_WRITEFUNC_PAUSE was returned from the callback function or not.
Daniel Stenberg [Thu, 26 Dec 2013 22:50:34 +0000 (23:50 +0100)]
FILE: we don't support paused transfers using this protocol
Make sure that we detect such attempts and return a proper error code
instead of silently handling this in problematic ways.
Updated the documentation to mention this limitation.
Bug: http://curl.haxx.se/bug/view.cgi?id=1286
Steve Holme [Wed, 25 Dec 2013 10:30:51 +0000 (10:30 +0000)]
vtls: Updated comments referencing sslgen.c and ssluse.c
Steve Holme [Wed, 25 Dec 2013 10:20:39 +0000 (10:20 +0000)]
vtls: Fixed up include of vtls.h
Daniel Stenberg [Wed, 25 Dec 2013 22:30:25 +0000 (23:30 +0100)]
curl_dofree: allow free(NULL)
Previously this memdebug free() replacement didn't properly work with a
NULL argument which has made us write code that avoids calling
free(NULL) - which causes some extra nuisance and unnecessary code.
Starting now, we should allow free(NULL) even when built with the
memdebug system enabled.
free(NULL) is permitted by POSIX
Steve Holme [Wed, 25 Dec 2013 00:08:16 +0000 (00:08 +0000)]
RELEASE-NOTES: Synced with
0ff0a994ada62a
Daniel Stenberg [Tue, 24 Dec 2013 23:53:15 +0000 (00:53 +0100)]
Curl_thread_create: use Curl_safefree to allow NULL better
free() itself allows a NULL input but our memory debug system requires
Curl_safefree() to be used instead when a "legitimate" NULL may be freed. Like
in the code here.
Pointed-out-by: Steve Holme
Luke Dashjr [Tue, 24 Dec 2013 23:10:42 +0000 (23:10 +0000)]
threaded resolver: Use pthread_t * for curl_thread_t
... since pthread_t may be non-scalar and/or may represent a real thread
with scalar 0.
Bug: http://curl.haxx.se/bug/view.cgi?id=1314
Steve Holme [Tue, 24 Dec 2013 22:45:25 +0000 (22:45 +0000)]
imap: Fixed auth preference not being honored when CAPABILITY not supported
If a user indicated they preferred to authenticate using a SASL
mechanism, but SASL authentication wasn't supported by the server, curl
would always fall back to clear text when CAPABILITY wasn't supported,
even though the user didn't want to use this.
Steve Holme [Tue, 24 Dec 2013 22:35:55 +0000 (22:35 +0000)]
pop3: Fixed auth preference not being honored when CAPA not supported
If a user indicated they preferred to authenticate using APOP or a SASL
mechanism, but neither were supported by the server, curl would always
fall back to clear text when CAPA wasn't supported, even though the
user didn't want to use this.
This also fixes the auto build failure caused by commit
6f2d5f0562f64a.
Daniel Stenberg [Wed, 18 Dec 2013 21:21:17 +0000 (22:21 +0100)]
TheArtOfHttpScripting: major update, converted layout and more
Daniel Stenberg [Tue, 24 Dec 2013 20:29:18 +0000 (21:29 +0100)]
Curl_pp_readresp: use memmove not memcpy, possibly overlapping areas
Fixes commit
1deac31eba7
Steve Holme [Tue, 24 Dec 2013 16:48:48 +0000 (16:48 +0000)]
RELEASE-NOTES: Corrected copy/paste typo
Steve Holme [Tue, 24 Dec 2013 16:32:48 +0000 (16:32 +0000)]
pop3: Fixed APOP being determined by CAPA response rather than by timestamp
This commit replaces that of
9f260b5d6610f3 because according to RFC-2449,
section 6, there is no APOP capability "...even though APOP is an
optional command in [POP3]. Clients discover server support of APOP by
the presence in the greeting banner of an initial challenge enclosed in
angle brackets."
Steve Holme [Tue, 24 Dec 2013 06:52:18 +0000 (06:52 +0000)]
tests: Removed APOP timestamp from default server greeting
Steve Holme [Mon, 23 Dec 2013 12:25:33 +0000 (12:25 +0000)]
test936: Corrected login details from commit
7246255416617a
Steve Holme [Mon, 23 Dec 2013 12:20:32 +0000 (12:20 +0000)]
ftpserver.pl: Updated custom full text REPLY regex
SASL downgrade tests: 833, 835, 879, 881, 935 and 937 would fail as
they contained a minus sign in their authentication mechanism and this
would be missed by the custom reply parser.
Steve Holme [Mon, 23 Dec 2013 08:10:55 +0000 (08:10 +0000)]
tests: Corrected syntax error from commit
7246255416617a
Steve Holme [Sun, 22 Dec 2013 22:30:50 +0000 (22:30 +0000)]
tests: Added SMTP SASL downgrade tests
Steve Holme [Sun, 22 Dec 2013 22:20:50 +0000 (22:20 +0000)]
tests: Added POP3 SASL downgrade tests
Steve Holme [Sun, 22 Dec 2013 22:10:50 +0000 (22:10 +0000)]
tests: Added IMAP SASL downgrade tests
Daniel Stenberg [Sun, 22 Dec 2013 22:45:10 +0000 (23:45 +0100)]
docs: mention CURLOPT_MAX_RECV/SEND_SPEED_LARGE don't work for FILE://
Daniel Stenberg [Sun, 22 Dec 2013 22:36:11 +0000 (23:36 +0100)]
FILE: don't wait due to CURLOPT_MAX_RECV_SPEED_LARGE
The FILE:// code doesn't support this option - and it doesn't make sense
to support it as long as it works as it does since then it'd only block
even longer.
But: setting CURLOPT_MAX_RECV_SPEED_LARGE would make the transfer first
get done and then libcurl would wait until the average speed would get
low enough. This happened because the transfer happens completely in the
DO state for FILE:// but then it would still unconditionally continue in
to the PERFORM state where the speed check is made.
Starting now, the code will skip from DO_DONE to DONE immediately if no
socket is set to be recv()ed or send()ed to.
Bug: http://curl.haxx.se/bug/view.cgi?id=1312
Reported-by: Mohammad AlSaleh
Steve Holme [Sun, 22 Dec 2013 21:40:50 +0000 (21:40 +0000)]
ftpserver.pl: Fixed runtime warning from commit
7da9c95bcf1fe6
Use of uninitialized value $FTPARG in concatenation (.) or string at
line 3255.
Steve Holme [Sun, 22 Dec 2013 19:10:43 +0000 (19:10 +0000)]
ftpserver.pl: Added the ability to send custom full text replies
Steve Holme [Sun, 22 Dec 2013 17:10:43 +0000 (17:10 +0000)]
ftpserver.pl: Added the ability to specify custom full text replies
Steve Holme [Sun, 22 Dec 2013 15:10:43 +0000 (15:10 +0000)]
ftpserver.pl: Renamed commandreply variable from customreply
Steve Holme [Sun, 22 Dec 2013 13:10:43 +0000 (13:10 +0000)]
tests: Added SASL cancellation keywords
Added SASL CANCELLATION keywords to differentiate these tests from the
upcoming SASL downgrade tests.
Steve Holme [Sun, 22 Dec 2013 00:16:52 +0000 (00:16 +0000)]
email: Fixed segfault introduced in commit
195b63f99c2fe3
Daniel Stenberg [Sun, 22 Dec 2013 00:01:19 +0000 (01:01 +0100)]
code police: fix indent level to silence checksrc complaints
Steve Holme [Sat, 21 Dec 2013 23:34:45 +0000 (23:34 +0000)]
email: Extended the login options to support multiple auth mechanisms
Daniel Stenberg [Sat, 21 Dec 2013 23:29:43 +0000 (00:29 +0100)]
Curl_pp_readresp: replace stupid loop with memcpy
Daniel Stenberg [Sat, 21 Dec 2013 23:17:58 +0000 (00:17 +0100)]
Curl_pp_readresp: zero terminate line
The comment in the code mentions the zero terminating after having
copied data, but it mistakingly zero terminated the source data and not
the destination! This caused the test 864 problem discussed on the list:
http://curl.haxx.se/mail/lib-2013-12/0113.html
Signed-off-by: Daniel Stenberg <daniel@haxx.se>
Steve Holme [Sat, 21 Dec 2013 12:50:30 +0000 (12:50 +0000)]
Revert "pop3: Added debug information to assist with test864 failure"
This reverts commit
727d798d680f29c8b3cb7d7f03d6b6a3eb4356da.
Steve Holme [Sat, 21 Dec 2013 11:15:00 +0000 (11:15 +0000)]
pop3: Added debug information to assist with test864 failure
Steve Holme [Fri, 20 Dec 2013 20:27:21 +0000 (20:27 +0000)]
RELEASE-NOTES: Synced with
812c5ace759d04
Steve Holme [Fri, 20 Dec 2013 20:17:59 +0000 (20:17 +0000)]
pop3: Fixed APOP timestamp detection from commit
1cfb436a2f1795
Daniel Stenberg [Wed, 18 Dec 2013 13:27:31 +0000 (14:27 +0100)]
Makefile.inc: use standard source header
Daniel Stenberg [Wed, 18 Dec 2013 13:25:43 +0000 (14:25 +0100)]
Makefile.inc: specify the vtls sources+headers separately
Daniel Stenberg [Tue, 17 Dec 2013 22:32:47 +0000 (23:32 +0100)]
vtls: renamed sslgen.[ch] to vtls.[ch]
Daniel Stenberg [Tue, 17 Dec 2013 22:26:35 +0000 (23:26 +0100)]
openssl: renamed backend files to openssl.[ch]
Daniel Stenberg [Tue, 17 Dec 2013 22:16:34 +0000 (23:16 +0100)]
vtls: moved all TLS/SSL source and header files into subdir
Daniel Stenberg [Tue, 17 Dec 2013 22:05:37 +0000 (23:05 +0100)]
vtls: created subdir, moved sslgen.[ch] there, updated all include lines
Steve Holme [Fri, 20 Dec 2013 12:46:18 +0000 (12:46 +0000)]
pop3: Fixed selection of APOP when server replies with an invalid timestamp
Although highlighted by a bug in commit
1cfb436a2f1795, APOP
authentication could be chosen if the server was to reply with an empty
or missing timestamp in the server greeting and APOP was given in the
capability list by the server.
Steve Holme [Fri, 20 Dec 2013 07:17:17 +0000 (07:17 +0000)]
pop3: Fixed processing of more than one response when sent in same packet
Added a loop to pop3_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.
Steve Holme [Fri, 20 Dec 2013 07:12:12 +0000 (07:12 +0000)]
pop3: Moved CAPA response handling to pop3_state_capa_resp()
Similar to the processing of untagged CAPABILITY responses in IMAP and
multi-line EHLO responses in SMTP, moved the processing of multi-line
CAPA responses to pop3_state_capa_resp().
Steve Holme [Fri, 20 Dec 2013 07:07:07 +0000 (07:07 +0000)]
pop3: Moved APOP detection into pop3_state_servergreet_resp()
In an effort to reduce what pop3_endofresp() does and bring the POP3
source back inline with the IMAP and SMTP protocols, moved the APOP
detection into pop3_state_servergreet_resp().
Steve Holme [Thu, 19 Dec 2013 22:40:56 +0000 (22:40 +0000)]
curl_easy_setopt: Fixed OAuth 2.0 Bearer option name
Bug: http://curl.haxx.se/bug/view.cgi?id=1313
Reported-by: Viktor Szakáts
Daniel Stenberg [Wed, 18 Dec 2013 21:46:38 +0000 (22:46 +0100)]
curl.1: remove URL encoding phrase from --data description
... it could be misleading a reader into thinking it _has_ to be encoded.
Steve Holme [Wed, 18 Dec 2013 20:44:20 +0000 (20:44 +0000)]
imap/pop3/smtp: Added support for SASL authentication downgrades
Added support for downgrading the SASL authentication mechanism when the
decoding of CRAM-MD5, DIGEST-MD5 and NTLM messages fails. This enhances
the previously added support for graceful cancellation by allowing the
client to retry a lesser SASL mechanism such as LOGIN or PLAIN, or even
APOP / clear text (in the case of POP3 and IMAP) when supported by the
server.
Daniel Stenberg [Wed, 18 Dec 2013 13:37:04 +0000 (14:37 +0100)]
RELEASE-PROCEDURE: new document
Daniel Stenberg [Wed, 18 Dec 2013 13:35:56 +0000 (14:35 +0100)]
gitignore: ignore .dirstamp files
Daniel Stenberg [Wed, 18 Dec 2013 12:53:45 +0000 (13:53 +0100)]
smtp: fix compiler warning
smtp.c:478:21: error: unused variable 'smtpc' [-Werror=unused-variable]
Steve Holme [Wed, 18 Dec 2013 12:39:13 +0000 (12:39 +0000)]
smtp: Moved the calculation of SASL login details into a separate function
Steve Holme [Wed, 18 Dec 2013 12:34:56 +0000 (12:34 +0000)]
pop3: Moved the calculation of SASL login details into a separate function
Steve Holme [Wed, 18 Dec 2013 12:29:46 +0000 (12:29 +0000)]
imap: Moved the calculation of SASL login details into a separate function
Steve Holme [Wed, 18 Dec 2013 07:10:22 +0000 (07:10 +0000)]
smtp: Moved the sending of the AUTH command into a separate function
Steve Holme [Wed, 18 Dec 2013 07:05:11 +0000 (07:05 +0000)]
pop3: Moved the sending of the AUTH command into a separate function
Steve Holme [Wed, 18 Dec 2013 07:00:00 +0000 (07:00 +0000)]
imap: Moved the sending of the AUTHENICATE command into a separate function
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.
Daniel Stenberg [Tue, 17 Dec 2013 15:38:51 +0000 (16:38 +0100)]
bump: start working on the next release
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
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
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
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
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
Daniel Stenberg [Sat, 14 Dec 2013 22:22:52 +0000 (23:22 +0100)]
RELEASE-NOTES: synced with
dd4d9ea542
Daniel Stenberg [Sat, 14 Dec 2013 22:09:05 +0000 (23:09 +0100)]
curl_easy_setopt: clarify some USERPWD and PROXYUSERPWD details
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>
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.
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.