Steve Holme [Sun, 8 Sep 2013 15:41:12 +0000 (16:41 +0100)]
ftpserver.pl: Added support for POP3 NOOP command
Steve Holme [Sun, 8 Sep 2013 15:39:41 +0000 (16:39 +0100)]
ftpserver.pl: Fixed 'Use of uninitialized value $args in string ne'
Steve Holme [Sun, 8 Sep 2013 07:51:37 +0000 (08:51 +0100)]
tests: Added test for POP3 STAT command
Steve Holme [Sun, 8 Sep 2013 07:37:37 +0000 (08:37 +0100)]
ftpserver.pl: Added support for POP STAT command
Steve Holme [Sun, 8 Sep 2013 07:35:38 +0000 (08:35 +0100)]
ftpserver.pl: Moved POP3 QUIT handler into own function
Steve Holme [Sat, 7 Sep 2013 22:20:08 +0000 (23:20 +0100)]
ftpserver.pl: Reordered the POP3 handlers to be alphabetical
In preparation for additional POP3 tests, re-ordered the command
function defintions to be sorted alphabetically.
Steve Holme [Sat, 7 Sep 2013 22:14:54 +0000 (23:14 +0100)]
ftpserver.pl: Corrected misaligned indentation in POP3 handlers
Fixed incorrect indentation used in both the RETR_pop3 and LIST_pop3
functions which was 5 and 9 characters rather than 4 and 8.
Steve Holme [Sat, 7 Sep 2013 18:49:12 +0000 (19:49 +0100)]
tests: Added test for POP3 DELE command
Steve Holme [Sat, 7 Sep 2013 18:27:52 +0000 (19:27 +0100)]
ftpserver.pl: Added support for POP3 DELE command
Daniel Stenberg [Sat, 7 Sep 2013 17:47:26 +0000 (19:47 +0200)]
http2: include curl_memory.h
Detected by test 1132
Nick Zitzmann [Sat, 7 Sep 2013 15:00:11 +0000 (10:00 -0500)]
http: fix build warning under LLVM
When building the code using LLVM Clang without NGHTTP2, I was getting
this warning:
../lib/http.h:155:1: warning: empty struct is a GNU extension [-Wgnu]
Placing a dummy variable into the data structure silenced the warning.
Daniel Stenberg [Sat, 7 Sep 2013 11:01:43 +0000 (13:01 +0200)]
http2: actually init nghttp2 and send HTTP2-Settings properly
Daniel Stenberg [Sat, 7 Sep 2013 09:12:12 +0000 (11:12 +0200)]
README.http2: how to use it best with the multi API?
Daniel Stenberg [Sat, 7 Sep 2013 09:03:23 +0000 (11:03 +0200)]
http2: first embryo toward Upgrade:
Daniel Stenberg [Wed, 4 Sep 2013 21:24:15 +0000 (23:24 +0200)]
http: rename use_http_1_1 to use_http_1_1plus
Since it now actually says if 1.1 or a later version should be used.
Daniel Stenberg [Sat, 7 Sep 2013 09:12:36 +0000 (11:12 +0200)]
configure: improve CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH
The compiler test used a variable before it was assigned when it tried
to see how it acts on a mismatching prototype, which could cause a false
positive.
Petr Písař [Tue, 20 Aug 2013 15:02:53 +0000 (17:02 +0200)]
Pass password to OpenSSL engine by user interface
Recent OpenSSL uses user interface abstraction to negotiate access to
private keys in the cryprographical engines. An OpenSSL application is
expected to implement the user interface. Otherwise a default one
provided by OpenSSL (interactive standard I/O) will be used and the
aplication will have no way how to pass a password to the engine.
Longer-desc: http://curl.haxx.se/mail/lib-2013-08/0265.html
Daniel Stenberg [Fri, 6 Sep 2013 21:27:47 +0000 (23:27 +0200)]
urlglob: improved error messages and column number on bad use
Introduce a convenience macro and keep of the column better so that it
can point out the offending column better.
Updated test 75 accordingly.
Daniel Stenberg [Fri, 6 Sep 2013 12:20:03 +0000 (14:20 +0200)]
urlglob: avoid error code translation
By using the correct values from the start we don't have to translate
them!
Daniel Stenberg [Fri, 6 Sep 2013 12:12:44 +0000 (14:12 +0200)]
urlglob: avoid NULL pointer dereference
Thanks to clang-analyzer
Gisle Vanem [Fri, 6 Sep 2013 11:56:35 +0000 (13:56 +0200)]
http2: use correct include for snprintf
Using the first little merge of nghttp2 into libcurl, I stumbeled on the
missing 'snprintf' in MSVCRT. Isn't this how we do it for other libcurl
files? I.e. use 'curl_msnprintf' and not 'snprintf' directly:
Daniel Stenberg [Fri, 6 Sep 2013 11:52:56 +0000 (13:52 +0200)]
--data: mention CRLF treatment when reading from file
Geoff Beier [Thu, 5 Sep 2013 21:51:53 +0000 (17:51 -0400)]
LDAP: fix bad free() when URL parsing failed
When an error occurs parsing an LDAP URL, The ludp->lud_attrs[i] entries
could be freed even though they sometimes point to data within an
allocated area.
This change introduces a lud_attrs_dup[] array for the duplicated string
pointers, and it removes the unused lud_exts array.
Bug: http://curl.haxx.se/mail/lib-2013-08/0209.html
Nick Zitzmann [Thu, 5 Sep 2013 23:57:06 +0000 (18:57 -0500)]
darwinssl: add support for PKCS#12 files for client authentication
I also documented the fact that the OpenSSL engine also supports them.
Daniel Stenberg [Thu, 5 Sep 2013 10:04:41 +0000 (12:04 +0200)]
symbols: added HTTP2 symbols and sorted list
CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 are new
Daniel Stenberg [Thu, 5 Sep 2013 10:03:24 +0000 (12:03 +0200)]
configure: add HTTP2 as a curl-config --feature output
Fixes the test 1014 failure
Daniel Stenberg [Thu, 5 Sep 2013 07:56:05 +0000 (09:56 +0200)]
curl: unbreak --http1.0 again
I broke it in
2eabb7d590
Daniel Stenberg [Wed, 4 Sep 2013 20:32:57 +0000 (22:32 +0200)]
SASL: fix compiler warnings
comparison between signed and unsigned integer expressions
suggest parentheses around '&&' within '||' (twice)
Daniel Stenberg [Wed, 4 Sep 2013 20:28:16 +0000 (22:28 +0200)]
curl: add --http1.1 and --http2.0 options
Daniel Stenberg [Tue, 3 Sep 2013 21:32:08 +0000 (23:32 +0200)]
Curl_setopt: refuse CURL_HTTP_VERSION_2_0 if built without support
Daniel Stenberg [Tue, 3 Sep 2013 21:17:06 +0000 (23:17 +0200)]
http2: add http2.[ch] and add nghttp2 version output
Daniel Stenberg [Tue, 3 Sep 2013 21:14:51 +0000 (23:14 +0200)]
curl -V: output HTTP2 as a feature if present
Daniel Stenberg [Tue, 3 Sep 2013 21:11:07 +0000 (23:11 +0200)]
curl.h: add CURL_VERSION_HTTP2 as a feature
It isn't added as a separate protocol as HTTP2 will be done over HTTP://
URLs that can be upgraded to HTTP2 if the server supports it as well.
Steve Holme [Wed, 4 Sep 2013 20:27:01 +0000 (21:27 +0100)]
imap/smtp: Fixed incorrect SASL mechanism selection with XOAUTH2 servers
XOAUTH2 would be selected in preference to LOGIN and PLAIN if the IMAP
or SMTP server advertised support for it even though a user's password
was supplied but bearer token wasn't.
Modified the selection logic so that XOAUTH2 will only be selected if
the server supports it and A) The curl user/libcurl programmer has
specifically asked for XOAUTH via the ;AUTH=XOAUTH login option or 2)
The bearer token is specified. Obviously if XOAUTH is asked for via
the login option but no token is specified the user will receive a
authentication failure which makes more sense than no known
authentication mechanisms supported!
Daniel Stenberg [Mon, 2 Sep 2013 21:30:38 +0000 (23:30 +0200)]
curl.h: added CURL_HTTP_VERSION_2_0
Initial library considerations documented in lib/README.http2
Daniel Stenberg [Mon, 2 Sep 2013 21:14:23 +0000 (23:14 +0200)]
configure: added --with-nghttp2
Daniel Stenberg [Tue, 3 Sep 2013 22:01:03 +0000 (00:01 +0200)]
acinclude: fix --without-ca-path when cross-compiling
The commit
7b074a460b64811 to CURL_CHECK_CA_BUNDLE in 7.31 (don't check
for paths when cross-compiling) causes --without-ca-path to no longer
works when cross-compiling, since ca and capath only ever get set to
"no" when not cross-compiling, I attach a patch that works for me. Also
in the cross-compilation case, no ca-path seems to be a better default
(IMVHO) than empty ca-path.
Bug: http://curl.haxx.se/bug/view.cgi?id=1273
Patch-by: Stefan Neis
Steve Holme [Mon, 2 Sep 2013 19:39:53 +0000 (20:39 +0100)]
lib1512.c: Fixed compilation warning
An enumerated type is mixed with another type.
...as well as a small coding style error.
Guenter Knauf [Sun, 1 Sep 2013 21:08:29 +0000 (23:08 +0200)]
Killed warning 'res' might be used uninitialized.
Steve Holme [Sun, 1 Sep 2013 12:30:12 +0000 (13:30 +0100)]
url.c: Fixed compilation warning
An enumerated type is mixed with another type
Steve Holme [Sun, 1 Sep 2013 11:48:50 +0000 (12:48 +0100)]
easy.c: Fixed compilation warning
warning: `code' might be used uninitialized in this function
Daniel Stenberg [Sat, 31 Aug 2013 20:55:53 +0000 (22:55 +0200)]
-x: rephrased the --proxy section somewhat
Steve Holme [Sat, 31 Aug 2013 17:31:47 +0000 (18:31 +0100)]
tests: Added test for IMAP CHECK command
Steve Holme [Sat, 31 Aug 2013 17:29:15 +0000 (18:29 +0100)]
ftpserver.pl: Added support for the IMAP CHECK command
Guenter Knauf [Sat, 31 Aug 2013 17:12:35 +0000 (19:12 +0200)]
Removed reference to krb4.c.
Steve Holme [Sat, 31 Aug 2013 10:10:20 +0000 (11:10 +0100)]
ftpserver.pl: Corrected flawed logic in commit
1ca6ed7b75cad0
Steve Holme [Sat, 31 Aug 2013 09:49:49 +0000 (10:49 +0100)]
imap: Fixed response check for EXPUNGE command
Steve Holme [Sat, 31 Aug 2013 09:41:25 +0000 (10:41 +0100)]
ftpserver.pl: Added argument check to IMAP command handlers
Added BAD argument check to the following IMAP command handlers:
APPEND, STORE, LIST, EXAMINE, STATUS and SEARCH
Steve Holme [Sat, 31 Aug 2013 09:35:05 +0000 (10:35 +0100)]
ftpserver.pl: More whitespace corrections
LIST_imap() had a second level of indentation at 9 characters and not 8.
Steve Holme [Fri, 30 Aug 2013 21:11:17 +0000 (22:11 +0100)]
ftpserver.pl: Small correction tidy up
Corrected some IMAP variable names and whitespace issues.
Kyle L. Huff [Fri, 30 Aug 2013 12:50:13 +0000 (08:50 -0400)]
docs: Added documentation for CURLOPT_BEARER
Kyle L. Huff [Fri, 30 Aug 2013 12:47:04 +0000 (08:47 -0400)]
curl.1: Add usage of '--bearer' option
Steve Holme [Fri, 30 Aug 2013 17:56:56 +0000 (18:56 +0100)]
tests: Added tests for IMAP CREATE, DELETE and RENAME commands
Daniel Stenberg [Fri, 30 Aug 2013 13:21:39 +0000 (15:21 +0200)]
ftpserver: Bareword "to_mailbox" not allowed
Added missing $
Steve Holme [Fri, 30 Aug 2013 06:35:00 +0000 (07:35 +0100)]
ftpserver.pl: Added support for IMAP CREATE, DELETE and RENAME commands
Daniel Stenberg [Tue, 20 Aug 2013 20:45:47 +0000 (22:45 +0200)]
FTP: fix getsock during DO_MORE state
... when doing upload it would return the wrong values at times. This
commit attempts to cleanup the mess.
Bug: http://curl.haxx.se/mail/lib-2013-08/0109.html
Reported-by: Mike Mio
Daniel Stenberg [Thu, 29 Aug 2013 20:08:01 +0000 (22:08 +0200)]
curl_multi_remove_handle: allow multiple removes
When removing an already removed handle, avoid that to ruin the
internals and just return OK instead.
Steve Holme [Thu, 29 Aug 2013 19:08:27 +0000 (20:08 +0100)]
ftpserver.pl: Updated IMAP EXAMINE handler to use dynamic test data
Daniel Stenberg [Thu, 29 Aug 2013 10:50:15 +0000 (12:50 +0200)]
unit1304: include memdebug and free everything correctly
Daniel Stenberg [Thu, 29 Aug 2013 10:49:56 +0000 (12:49 +0200)]
Curl_parsenetrc: document that the arguments must be allocated
Daniel Stenberg [Thu, 29 Aug 2013 07:57:14 +0000 (09:57 +0200)]
easy: rename struct monitor to socketmonitor
'struct monitor', introduced in
6cf8413e, already exists in an IRIX
header file (sys/mon.h) which gets included via various standard headers
by lib/easy.c
cc-1101 cc: ERROR File = ../../curl/lib/easy.c, Line = 458
"monitor" has already been declared in the current scope.
Reported-by: Tor Arntsen
Steve Holme [Thu, 29 Aug 2013 06:20:03 +0000 (07:20 +0100)]
ftpserver.pl: Added SELECT check to IMAP FETCH and STORE handlers
Steve Holme [Wed, 28 Aug 2013 21:58:33 +0000 (22:58 +0100)]
ftpserver.pl: Corrected accidental move of logmsg() call
Corrected the call to logmsg() in the IMAP SEARCH handler from commit
4ae7b7ea691497 as it should have been outputting the what argument and
not the test number.
Daniel Stenberg [Wed, 28 Aug 2013 20:59:19 +0000 (22:59 +0200)]
ftpserver: add missing '}' from
4ae7b7ea69149
Steve Holme [Wed, 28 Aug 2013 17:56:19 +0000 (18:56 +0100)]
ftpserver.pl: Added SELECT check to IMAP SEARCH command
Steve Holme [Wed, 28 Aug 2013 17:51:59 +0000 (18:51 +0100)]
ftpserver.pl: Fixed IMAP SEARCH command
Daniel Stenberg [Wed, 28 Aug 2013 07:32:48 +0000 (09:32 +0200)]
bump: next release is 7.33.0 due to added features
Daniel Stenberg [Wed, 28 Aug 2013 07:31:37 +0000 (09:31 +0200)]
symbols-in-versions: add CURLOPT_XOAUTH2_BEARER
Steve Holme [Wed, 28 Aug 2013 06:27:10 +0000 (07:27 +0100)]
tests: Added test for IMAP SEARCH command
Daniel Stenberg [Tue, 27 Aug 2013 22:09:27 +0000 (00:09 +0200)]
valgrind.supp: fix for regular curl_easy_perform too
When we introduced curl_easy_perform_ev, this got a slightly modified
call trace. Without this, test 165 causes a false positive valgrind
error.
Daniel Stenberg [Tue, 27 Aug 2013 21:34:51 +0000 (23:34 +0200)]
valgrind.supp: add the event-based call stack-trace too
Without this, test 165 triggers a valgrind error when ran with
curl_easy_perform_ev
Daniel Stenberg [Tue, 27 Aug 2013 20:32:51 +0000 (22:32 +0200)]
multi_socket: improved 100-continue timeout handling
When waiting for a 100-continue response from the server, the
Curl_readwrite() will refuse to run if called until the timeout has been
reached.
We timeout code in multi_socket() allows code to run slightly before the
actual timeout time, so for test 154 it could lead to the function being
executed but refused in Curl_readwrite() and then the application would
just sit idling forever.
This was detected with runtests.pl -e on test 154.
Steve Holme [Tue, 27 Aug 2013 19:47:31 +0000 (20:47 +0100)]
ftpserver.pl: Added support for IMAP SEARCH command
Steve Holme [Tue, 27 Aug 2013 15:39:16 +0000 (16:39 +0100)]
tool_operate.c: Fixed compilation warning
warning: implicit declaration of function 'checkpasswd'
Steve Holme [Sun, 25 Aug 2013 21:32:34 +0000 (22:32 +0100)]
curl: Moved check for password out of get parameter loop
Moved the calls to checkpasswd() out of the getparameter() function
which allows for any related arguments to be specified on the command
line before or after --user (and --proxy-user).
For example: --bearer doesn't need to be specified before --user to
prevent curl from asking for an unnecessary password as is the case
with commit
e7dcc454c67a2f.
Steve Holme [Mon, 26 Aug 2013 22:27:07 +0000 (23:27 +0100)]
RELEASE-NOTES: synced with
acf59be7f09a7
Kyle L. Huff [Sun, 25 Aug 2013 17:19:46 +0000 (13:19 -0400)]
curl: added --bearer option to help
Added the --bearer option to the help output
Kyle L. Huff [Sun, 25 Aug 2013 17:18:59 +0000 (13:18 -0400)]
curl: added basic SASL XOAUTH2 support
Added the ability to specify an XOAUTH2 bearer token [RFC6750] via the
--bearer option.
Example usage:
curl --url "imaps://imap.gmail.com:993/INBOX/;UID=1" --ssl-reqd
--bearer ya29.AHES6Z...OMfsHYI --user username@example.com
Steve Holme [Mon, 26 Aug 2013 10:41:35 +0000 (11:41 +0100)]
tool_urlglob.c: Fixed compiler warnings
warning: 'variable' may be used uninitialized in this function
Daniel Stenberg [Mon, 26 Aug 2013 09:51:18 +0000 (11:51 +0200)]
security.h: rename to curl_sec.h to avoid name collision
I brought back security.h in commit
bb5529331334e. As we actually
already found out back in 2005 in commit
62970da675249, the file name
security.h causes problems so I renamed it curl_sec.h instead.
Daniel Stenberg [Mon, 26 Aug 2013 07:17:55 +0000 (09:17 +0200)]
runtests.pl: allow -vc point to a separate curl binary to verify with
The specified curl binary will then be used to verify the running
server(s) instead of the development version. This is very useful in
some cases when the development version fails to verify correctly as
then the test case may not run at all.
The actual test will still be run with the "normal" curl executable
(unless the test case specifies something differently).
Kyle L. Huff [Sun, 25 Aug 2013 17:17:58 +0000 (13:17 -0400)]
smtp: added basic SASL XOAUTH2 support
Added the ability to use an XOAUTH2 bearer token [RFC6750] with SMTP for
authentication using RFC6749 "OAuth 2.0 Authorization Framework".
The bearer token is expected to be valid for the user specified in
conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has
an advertised auth mechanism of "XOAUTH2", the user and access token are
formatted as a base64 encoded string and sent to the server as
"AUTH XOAUTH2 <bearer token>".
Kyle L. Huff [Sun, 25 Aug 2013 17:17:35 +0000 (13:17 -0400)]
imap: added basic SASL XOAUTH2 support
Added the ability to use an XOAUTH2 bearer token [RFC6750] with IMAP for
authentication using RFC6749 "OAuth 2.0 Authorization Framework".
The bearer token is expected to be valid for the user specified in
conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has
an advertised auth mechanism of "XOAUTH2", the user and access token are
formatted as a base64 encoded string and sent to the server as
"A001 AUTHENTICATE XOAUTH2 <bearer token>".
Steve Holme [Mon, 26 Aug 2013 09:14:16 +0000 (10:14 +0100)]
security.h: Fixed compilation warning
ISO C forbids forward references to 'enum' types
Daniel Stenberg [Sun, 25 Aug 2013 22:29:33 +0000 (00:29 +0200)]
KNOWN_BUGS: refer to bug numbers with the existing number series
The old numbers would still redirect but who knows for how long...
Kyle L. Huff [Sun, 25 Aug 2013 17:17:20 +0000 (13:17 -0400)]
options: added basic SASL XOAUTH2 support
Added the ability to specify an XOAUTH2 bearer token [RFC6750] via the
option CURLOPT_XOAUTH2_BEARER for authentication using RFC6749 "OAuth
2.0 Authorization Framework".
Kyle L. Huff [Sun, 25 Aug 2013 17:17:01 +0000 (13:17 -0400)]
sasl: added basic SASL XOAUTH2 support
Added the ability to generated a base64 encoded XOAUTH2 token
containing: "user=<username>^Aauth=Bearer <bearer token>^A^A"
as per RFC6749 "OAuth 2.0 Authorization Framework".
Daniel Stenberg [Fri, 23 Aug 2013 14:16:42 +0000 (16:16 +0200)]
FTP: remove krb4 support
We've announced this pending removal for a long time and we've
repeatedly asked if anyone would care or if anyone objects. Nobody has
objected. It has probably not even been working for a good while since
nobody has tested/used this code recently.
The stuff in krb4.h that was generic enough to be used by other sources
is now present in security.h
Daniel Stenberg [Sun, 25 Aug 2013 17:10:02 +0000 (19:10 +0200)]
easy: define away easy_events() for non-debug builds
Daniel Stenberg [Sat, 24 Aug 2013 15:13:46 +0000 (17:13 +0200)]
FAQ: editorial updates
Several language fixes. Several reformats that should make the HTML
generation of this document look better.
Reported-by: Dave Thompson
Daniel Stenberg [Fri, 23 Aug 2013 13:39:03 +0000 (15:39 +0200)]
RELEASE-NOTES: synced with
22adb46a32bee
Daniel Stenberg [Wed, 21 Aug 2013 21:08:38 +0000 (23:08 +0200)]
multi: move on from STATE_DONE faster
Make sure we always return CURLM_CALL_MULTI_PERFORM when we reach
CURLM_STATE_DONE since the state is transient and it can very well
continue executing as there is nothing to wait for.
Bug: http://curl.haxx.se/mail/lib-2013-08/0211.html
Reported-by: Yi Huang
Daniel Stenberg [Wed, 21 Aug 2013 20:46:10 +0000 (22:46 +0200)]
curl.h: name space pollution by "enum type"
Renamed to "enum curl_khtype" now. Will break compilation for programs
that rely on the enum name.
Bug: https://github.com/bagder/curl/pull/76
Reported-by: Shawn Landden
Daniel Stenberg [Thu, 22 Aug 2013 20:40:38 +0000 (22:40 +0200)]
TFTP: make the CURLOPT_LOW_SPEED* options work
... this also makes sure that the progess callback gets called more
often during TFTP transfers.
Added test 1238 to verify.
Bug: http://curl.haxx.se/bug/view.cgi?id=1269
Reported-by: Jo3
Daniel Stenberg [Thu, 22 Aug 2013 17:23:08 +0000 (19:23 +0200)]
tftpd: support "writedelay" within <servercmd>
Daniel Stenberg [Thu, 22 Aug 2013 11:44:37 +0000 (13:44 +0200)]
tftpd: convert 6 global variables into local ones
Gisle Vanem [Wed, 21 Aug 2013 20:19:52 +0000 (22:19 +0200)]
curl_easy_perform_ev: make it CURL_EXTERN
I build curl.exe (using MingW) with '-DCURLDEBUG' and by importing from
libcurl.dll. Which means the new curl_easy_perform_ev() must be
exported from libcurl.dll.
Daniel Stenberg [Tue, 20 Aug 2013 10:27:50 +0000 (12:27 +0200)]
CURLM_ADDED_ALREADY: new error code
Doing curl_multi_add_handle() on an easy handle that is already added to
a multi handle now returns this error code. It previously returned
CURLM_BAD_EASY_HANDLE for this condition.
Daniel Stenberg [Tue, 20 Aug 2013 12:48:08 +0000 (14:48 +0200)]
multi_init: moved init code here from add_handle
The closure_handle is "owned" by the multi handle and it is
unconditional so the setting up of it should be in the Curl_multi_handle
function rather than curl_multi_add_handle.
Daniel Stenberg [Tue, 20 Aug 2013 11:21:07 +0000 (13:21 +0200)]
multi: remove dns cache creation code from *add_handle
As it is done unconditionally in multi_init() this code will never run!