Guenter Knauf [Fri, 8 Jun 2012 12:11:36 +0000 (14:11 +0200)]
Added metalink support to MinGW builds.
Daniel Stenberg [Thu, 7 Jun 2012 21:49:14 +0000 (23:49 +0200)]
log2changes.pl: fix the Version output
Previously it could easily wrongly get repeated
Yang Tse [Thu, 7 Jun 2012 21:49:27 +0000 (23:49 +0200)]
metalink: build fixes and adjustments I
Daniel Stenberg [Thu, 7 Jun 2012 21:08:35 +0000 (23:08 +0200)]
lib554.c: use curl_formadd() properly
The length/size options take longs so make sure to pass on such types.
Reported by: Neil Bowers
Bug: http://curl.haxx.se/mail/lib-2012-06/0001.html
Steve Holme [Thu, 7 Jun 2012 21:06:01 +0000 (22:06 +0100)]
smtp.c: Re-factored the smtp_state_*_resp() functions
Re-factored the smtp_state_*_resp() functions to 1) Match the constants
that were refactored in commit
00fddba6727c, 2) To be more readable and
3) To match their counterparties in pop3.c.
Yang Tse [Thu, 7 Jun 2012 19:57:53 +0000 (21:57 +0200)]
Fixes allowing HTTP test cases 1338, 1339, 1368 and 1369 to succeed
Yang Tse [Thu, 7 Jun 2012 15:45:37 +0000 (17:45 +0200)]
tests 1364 to 1393: several -o filename -J -i -D combinations for HTTP and FTP
Yang Tse [Thu, 7 Jun 2012 13:26:03 +0000 (15:26 +0200)]
tests 1348 to 1363: test definition polishing
Verify that the "Saved to filename 'blabla'" message is only displayed when
the 'blabla' filename being used _actually_ has been specified by the server
in the Content-Disposition header.
Use relative path for unintended file creation postcheck.
Steve Holme [Wed, 6 Jun 2012 19:14:52 +0000 (20:14 +0100)]
smtp: Re-factored the SMTP_AUTH* state machine constants
Re-factored the SMTP_AUTH* constants, that are used by the state
machine, to be clearer to read.
Guenter Knauf [Wed, 6 Jun 2012 15:22:17 +0000 (17:22 +0200)]
Added hint for pkg-config wrapper script.
Guenter Knauf [Wed, 6 Jun 2012 14:14:03 +0000 (16:14 +0200)]
Updated Android section with recent NDK.
The r7b had some bugs, and shouldnt be used.
Yang Tse [Wed, 6 Jun 2012 11:04:18 +0000 (13:04 +0200)]
Disable non-HTTP header related tests
These now detect incompleate header data and fail
Yang Tse [Wed, 6 Jun 2012 10:59:52 +0000 (12:59 +0200)]
tests 1348 to 1363: compleate header data part of test definition
Yang Tse [Tue, 5 Jun 2012 18:19:27 +0000 (20:19 +0200)]
tests 1334 to 1363 revisited.
Add a postcheck section to verify unintended file creation.
Remove needless <file> checks in verify section. Renumbering where appropriate.
Yang Tse [Tue, 5 Jun 2012 18:01:23 +0000 (20:01 +0200)]
tests: adjust file part behavior in test verify section.
When a <file> part is now specified with no contents at all, this
will actually verify that the specified file has no contents at all.
Previously file contents would be ignored.
Steve Holme [Tue, 5 Jun 2012 13:34:17 +0000 (14:34 +0100)]
smtp.c: Removed whitespace
Steve Holme [Tue, 5 Jun 2012 12:49:50 +0000 (13:49 +0100)]
pop3: Another small code tidy up
Missed some comments that we identified during the SMTP tidy up earlier.
Steve Holme [Tue, 5 Jun 2012 11:23:01 +0000 (12:23 +0100)]
smtp: Post authentication code tidy up
Corrected lines longer than 78 characters.
Removed unnecessary braces in smtp_state_helo_resp().
Introduced some comments in data sending functions.
Tidied up comments to match changes made in pop3.c.
Yang Tse [Tue, 5 Jun 2012 10:31:57 +0000 (12:31 +0200)]
tests 1348 to 1363: add a comma in test description
Steve Holme [Tue, 5 Jun 2012 10:18:07 +0000 (11:18 +0100)]
email: Removed duplicated header file
Steve Holme [Mon, 4 Jun 2012 21:25:45 +0000 (22:25 +0100)]
sasl: Renamed Curl_sasl_decode_ntlm_type2_message()
For consistency with other SASL based functions renamed this function
to Curl_sasl_create_ntlm_type3_message() which better describes its
usage.
Steve Holme [Mon, 4 Jun 2012 21:15:51 +0000 (22:15 +0100)]
pop3: Post authentication code tidy up
Corrected lines longer than 78 characters.
Changed POP3_AUTH_FINAL to POP3_AUTH to match SMTP code now that the
AUTH command is no longer sent on its own.
Introduced some comments in data sending functions.
Another attempt at trying to rational code and comment style.
Steve Holme [Mon, 4 Jun 2012 20:50:16 +0000 (21:50 +0100)]
pop3: Added support for sasl digest-md5 authentication
Yang Tse [Mon, 4 Jun 2012 20:49:07 +0000 (22:49 +0200)]
sasl: add reference for curl_sasl
Yang Tse [Mon, 4 Jun 2012 20:48:09 +0000 (22:48 +0200)]
Makefile.inc: tab adjustment
Daniel Stenberg [Mon, 4 Jun 2012 20:34:06 +0000 (22:34 +0200)]
pop3 tests: CAPA instead of AUTH
After Steve's commit
e336bc7c42c7340 test 1319 and 1407 need to check
for CAPA instead of AUTH.
Steve Holme [Mon, 4 Jun 2012 19:22:06 +0000 (20:22 +0100)]
sasl: Added service parameter to Curl_sasl_create_digest_md5_message()
Added a service type parameter to Curl_sasl_create_digest_md5_message()
to allow the function to be used by different services rather than being
hard coded to "smtp".
Yang Tse [Mon, 4 Jun 2012 18:58:46 +0000 (20:58 +0200)]
tests 1356 to 1363: several -O -J -i -D combinations with FTP protocol
Currently 1356 to 1362 succeed but a write failure is logged in traceNNNN.
Currently 1363 fails, so disabled for now.
Steve Holme [Mon, 4 Jun 2012 18:41:56 +0000 (19:41 +0100)]
tests: Updated pop3 tests for change in auth mechanism detection
Steve Holme [Mon, 4 Jun 2012 18:09:45 +0000 (19:09 +0100)]
pop3: Changed the sasl mechanism detection from auth to capa
Not all SASL enabled POP3 servers support the AUTH command on its own
when trying to detect the supported mechanisms. As such changed the
mechanism detection to use the CAPA command instead.
Daniel Stenberg [Mon, 4 Jun 2012 17:59:48 +0000 (19:59 +0200)]
curl_easy_setopt.3: proto updates + cleanups
- For all *FUNCTION options, they now all show the complete prototype in
the description. Previously some of them would just refer to a
typedef'ed function pointer in the curl.h header.
- I made the phrasing of that "Pass a pointer to a function that matches
the following prototype" the same for all *FUNCTION option descriptions.
- I removed some uses of 'should'. I think I sometimes over-use this
word as in many places I actually mean MUST or otherwise more specific
and not-so-optional synonyms.
Yang Tse [Mon, 4 Jun 2012 17:40:04 +0000 (19:40 +0200)]
tests 1348 to 1355: several -O -J -i -D combinations with FTP protocol
Currently 1348 to 1354 succeed but a write failure is logged in traceNNNN.
Currently 1355 fails, so disabled for now.
Yang Tse [Mon, 4 Jun 2012 16:54:24 +0000 (18:54 +0200)]
tests 1346 to 1347: several -O -J -i -D combinations with HTTP protocol
Steve Holme [Mon, 4 Jun 2012 10:02:03 +0000 (11:02 +0100)]
sasl: Small code tidy up
Reworked variable names in Curl_sasl_create_cram_md5_message() to match
those in Curl_sasl_create_digest_md5_message() as they are more
appropriate.
Steve Holme [Mon, 4 Jun 2012 09:53:18 +0000 (10:53 +0100)]
sasl: Moved digest-md5 authentication message creation from smtp.c
Moved the digest-md5 message creation from smtp.c into the sasl module
to allow for use by other modules such as pop3.
Steve Holme [Mon, 4 Jun 2012 09:49:55 +0000 (10:49 +0100)]
sasl: Small code tidy up before moving digest-md5 over
Correction of comments and variable names.
Steve Holme [Sun, 3 Jun 2012 18:28:08 +0000 (19:28 +0100)]
RELEASE-NOTES: Added missing addition of sasl login support
Steve Holme [Sun, 3 Jun 2012 18:13:16 +0000 (19:13 +0100)]
pop3: Added support for sasl cram-md5 authentication
Daniel Stenberg [Sun, 3 Jun 2012 17:42:47 +0000 (19:42 +0200)]
Curl_sasl_create_plain_message: remove TAB
Steve Holme [Sun, 3 Jun 2012 17:24:35 +0000 (18:24 +0100)]
sasl: Small code tidy up
Added some comments and removed an unreferenced variable.
Steve Holme [Sun, 3 Jun 2012 16:40:05 +0000 (17:40 +0100)]
pop3.c: Added conditional compilation for NTLM function calls
Added USE_NTLM condition compilation around the NTLM functions called
from pop3_statemach_act() introduced in commit
69f7156ad96877.
Steve Holme [Sun, 3 Jun 2012 16:21:49 +0000 (17:21 +0100)]
sasl: Moved cram-md5 authentication message creation from smtp.c
Moved the cram-md5 message creation from smtp.c into the sasl module
to allow for use by other modules such as pop3.
Steve Holme [Sun, 3 Jun 2012 16:06:48 +0000 (17:06 +0100)]
pop3: Fixed an issue with changes introduced in commit
c267c53017bc
Because pop3_endofresp() is called for each line of data yet is not
passed the line and line length, so we have to use the data pointed to
by pp->linestart_resp which contains the whole packet, the mechanisms
were being detected in one call yet the function would be called for
each line of data.
Using curl with verbose mode enabled would show that one line of data
would be received in response to the AUTH command, before the AUTH
<mechanism> command was sent to the server and then the next few lines
of the original AUTH command would be displayed before the response from
the AUTH <mechanism> command. This would then cause problems when
parsing the CRAM-MD5 challenge data as extra data was contained in the
buffer.
Changed the parsing so that each line is checked for the mechanisms
and the function returns FALSE until the whole of the AUTH response has
been processed.
Daniel Stenberg [Sun, 3 Jun 2012 11:52:25 +0000 (13:52 +0200)]
version: bump to 7.27.0 for next release
Due to new features
Daniel Stenberg [Sun, 3 Jun 2012 11:51:54 +0000 (13:51 +0200)]
RELEASE-NOTES: synced with
c4e3578e4bf
Also bumped the contributor number and next release is to become 7.27.0
Daniel Stenberg [Sun, 3 Jun 2012 11:43:12 +0000 (13:43 +0200)]
THANKS: 16 new contributors from the 7.26.0 release
Steve Holme [Sun, 3 Jun 2012 00:17:21 +0000 (01:17 +0100)]
DOCS: Fixed list in Section 18.2 not displaying correctly on web site
Steve Holme [Sun, 3 Jun 2012 00:13:36 +0000 (01:13 +0100)]
DOCS: Corrected missed heading renumbering from commit
530675a1ad7
Steve Holme [Sun, 3 Jun 2012 00:00:45 +0000 (01:00 +0100)]
DOCS: Added IMAP and LDAP sections
Added new sections 11. IMAP and 12. LDAP to document adding SASL based
authentication.
Renumbered current sections 11 to 17 as 13 to 19.
Additionally added 19.10 Add CURLOPT_MAIL_CLIENT option.
Steve Holme [Sat, 2 Jun 2012 23:00:34 +0000 (00:00 +0100)]
sasl.c: Fix to avoid warnings introduced in commit
d9ca9e9869e8
Applied a fix to avoid warnings on systems where Curl_ntlm_sspi_cleanup()
is just a nop.
Steve Holme [Sat, 2 Jun 2012 22:12:07 +0000 (23:12 +0100)]
pop3.c:Corrected typo in commit
69ba0da8272d
Steve Holme [Sat, 2 Jun 2012 21:11:37 +0000 (22:11 +0100)]
pop3: Fixed the issue of having to supply the user name for all requests
Previously it wasn't possible to connect to POP3 and not specify the
user name as a CURLE_ACCESS_DENIED error would be returned. This error
occurred because USER would be sent to the server with a blank user name
if no mailbox user was specified as the server would reply with -ERR.
This wasn't a problem prior to the 7.26.0 release but with the
introduction of custom commands the user and/or application developer
might want to issue a CAPA command without having to log in as a
specific mailbox user.
Additionally this fix won't send the newly introduced AUTH command if no
user name is specified.
Steve Holme [Sat, 2 Jun 2012 20:38:55 +0000 (21:38 +0100)]
pop3.c: Small code tidy up
Corrected lines exceeding 78 characters.
Repositioned some comments and added extra clarity.
Steve Holme [Sat, 2 Jun 2012 13:03:55 +0000 (14:03 +0100)]
sasl: Corrected variable names in comments and parameters
Steve Holme [Sat, 2 Jun 2012 10:55:58 +0000 (11:55 +0100)]
pop3: Added support for sasl ntlm authentication
Steve Holme [Sat, 2 Jun 2012 10:09:59 +0000 (11:09 +0100)]
sasl: Small comment style tidy up following ntlm commit
Steve Holme [Sat, 2 Jun 2012 10:07:58 +0000 (11:07 +0100)]
sasl: Moved ntlm authentication message handling from smtp.c
Moved the ntlm message creation and decoding from smtp.c into the sasl
module to allow for use by other modules such as pop3.
Steve Holme [Fri, 1 Jun 2012 14:59:29 +0000 (15:59 +0100)]
pop3: Added support for sasl login authentication
Yang Tse [Fri, 1 Jun 2012 03:48:26 +0000 (05:48 +0200)]
tests 1334 to 1345: several -O -J -i -D combinations with HTTP protocol
Yang Tse [Fri, 1 Jun 2012 03:37:00 +0000 (05:37 +0200)]
tests: support test definitions with up to 5 file checks in <verify> section
This is done introducing tags <file1> to <file4> besides existing <file> one,
as well as corresponding <stripfile1> to <stripfile4> ones, that can be used
in the <verify> section in the same way as the non-numbered ones.
Steve Holme [Thu, 31 May 2012 22:11:54 +0000 (23:11 +0100)]
sasl: Moved login authentication message creation from smtp.c
Moved the login message creation from smtp.c into the sasl module
to allow for use by other modules such as pop3.
Steve Holme [Thu, 31 May 2012 21:58:07 +0000 (22:58 +0100)]
smtp.c: Reworked message encoding in smtp_state_authpasswd_resp()
Rather than encoding the password message itself the
smtp_state_authpasswd_resp() function now delegates the work to the same
function that smtp_state_authlogin_resp() and smtp_authenticate() use
when constructing the encoded user name.
Steve Holme [Thu, 31 May 2012 21:49:14 +0000 (22:49 +0100)]
smtp.c: Re-factored smtp_auth_login_user() for use with passwords
In preparation for moving to the SASL module re-factored the
smtp_auth_login_user() function to smtp_auth_login() so that it can be
used for both user names and passwords as sending both of these under
the login authentication mechanism is the same.
Steve Holme [Thu, 31 May 2012 19:45:53 +0000 (20:45 +0100)]
pop3: Added support for sasl plain text authentication
Steve Holme [Wed, 30 May 2012 19:56:37 +0000 (20:56 +0100)]
curl_ntlm_msgs.c: Corrected small spelling mistake in comments
Steve Holme [Wed, 30 May 2012 19:52:52 +0000 (20:52 +0100)]
sasl: Moved plain text authentication message creation from smtp.c
Moved the plain text message creation from smtp.c into the sasl module
to allow for use by other modules such as pop3.
Yang Tse [Wed, 30 May 2012 15:40:13 +0000 (17:40 +0200)]
configure: fix LDAPS disabling related misplaced closing parenthesis
Yang Tse [Wed, 30 May 2012 15:39:14 +0000 (17:39 +0200)]
pop3 test server: allow pop3 test server verification to succeed again
Introduce SUPPORTCAPA and SUPPORTAUTH config commands to allow further
pop3 test server expansion for tests that require CAPA or AUTH support,
although this will need some extra work to make it fully functional.
Steve Holme [Mon, 28 May 2012 20:29:01 +0000 (21:29 +0100)]
pop3: Introduced the continue response in pop3_endofresp()
Steve Holme [Mon, 28 May 2012 19:59:10 +0000 (20:59 +0100)]
pop3: Changed response code from O and E to + and -
The POP3 protocol doesn't really have the concept of error codes and
uses +, +OK and -ERR in response to commands to indicate continue,
success and error.
The AUTH command is one of those commands that requires multiple pieces
of data to be sent to the server where the server will respond with + as
part of the handshaking. This meant changing the values before
continuing with the next stage of adding authentication support.
Steve Holme [Mon, 28 May 2012 19:21:52 +0000 (20:21 +0100)]
pop3: Small code tidy up following authentication work so far
Changed the order of the state machine to match the order of actual
events.
Reworked some comments and function parameter positioning that I missed
the other day.
Kamil Dudka [Mon, 21 May 2012 14:19:12 +0000 (16:19 +0200)]
nss: use human-readable error messages provided by NSS
Bug: http://lists.baseurl.org/pipermail/yum-devel/2012-January/009002.html
Daniel Stenberg [Sun, 27 May 2012 21:43:23 +0000 (23:43 +0200)]
test1013.pl: filter out Metalink
Since it isn't a feature supported by curl-config we can't compare that
with the --version output
Daniel Stenberg [Sun, 27 May 2012 21:29:15 +0000 (23:29 +0200)]
pop3: remove variable-not-used warnings
Steve Holme [Sun, 27 May 2012 19:04:36 +0000 (20:04 +0100)]
DOCS: Corrected the "Added in" version number for CURLOPT_MAIL_AUTH
Additionally corrected another RFC link that I missed yesterday.
Steve Holme [Sun, 27 May 2012 18:09:38 +0000 (19:09 +0100)]
pop3: Added support for SASL based authentication mechanism detection
Added support for detecting the supported SASL authentication mechanisms
via the AUTH command. There are two ways of detecting them, either by
using the AUTH command, that will return -ERR if not supported or by
using the CAPA command which will return SASL and the list of mechanisms
if supported, not include SASL if SASL authentication is not supported
or -ERR if the CAPA command is not supported. As such it seems simpler
to use the AUTH command and fallback to normal clear text authentication
if the the command is not supported.
Additionally updated the test cases to return -ERR when the AUTH command
is encountered. Additional test cases will be added when support for the
individual authentication mechanisms is added.
Daniel Stenberg [Sun, 27 May 2012 12:08:46 +0000 (14:08 +0200)]
pop3: remove trailing whitespace
Steve Holme [Sun, 27 May 2012 09:54:13 +0000 (10:54 +0100)]
pop3: Code tidy up before the introduction of authentication code
Moved EOB definition into header file.
Switched the logic around in pop3_endofresp() to allow for the
introduction of auth-mechanism detection.
Repositioned second and third function variables where they will fit
within the 78 character line limit.
Tidied up some comments.
Guenter Knauf [Sun, 27 May 2012 05:26:48 +0000 (07:26 +0200)]
Enabled OpenSSL static linkage.
Guenter Knauf [Sun, 27 May 2012 05:16:45 +0000 (07:16 +0200)]
Enabled OpenSSL static linkage.
Guenter Knauf [Sun, 27 May 2012 01:28:43 +0000 (03:28 +0200)]
Try to detect OpenSSL build type automatically.
Daniel Stenberg [Sat, 26 May 2012 21:20:23 +0000 (23:20 +0200)]
metalink: fix build errors when disabled
Tatsuhiro Tsujikawa [Sat, 26 May 2012 13:51:03 +0000 (22:51 +0900)]
Reduced #ifdef HAVE_METALINK
Tatsuhiro Tsujikawa [Sat, 26 May 2012 12:21:53 +0000 (21:21 +0900)]
Disable hash check if neither OpenSSL nor GNUTLS is installed.
Tatsuhiro Tsujikawa [Fri, 25 May 2012 10:51:05 +0000 (19:51 +0900)]
Format GETOUT_METALINK nicely
Tatsuhiro Tsujikawa [Fri, 25 May 2012 10:24:32 +0000 (19:24 +0900)]
Minimize usage of structs from libmetalink
Tatsuhiro Tsujikawa [Mon, 21 May 2012 16:40:11 +0000 (01:40 +0900)]
Check checksum of downloaded file if checksum is available
Metalink file contains several hash types of checksums, such as
md5, sha-1, sha-256, etc. To deal with these checksums, I created
abstraction layer based on lib/curl_md5.h and
lib/md5.c. Basically, they are almost the same but I changed the
code so that it is not hash type dependent. Currently,
GNUTLS(nettle or gcrypt) and OpenSSL functions are supported.
Checksum checking is done by reopening download file. If there
is an I/O error, the current implementation just prints error
message and does not try next resource.
In this patch, the supported hash types are: md5, sha-1 and sha-256.
Tatsuhiro Tsujikawa [Mon, 14 May 2012 13:46:15 +0000 (22:46 +0900)]
Always create directory hierarchy for Metalink.
Filenames contained in Metalink file can include directory information.
Filenames are unique in Metalink file, taking into account the directory
information. So we need to create the directory hierarchy.
Curl has --create-dirs option, but we create directory hierarchy for
Metalink downloads regardless of the option value.
This patch also put metalink int variable outside of HAVE_LIBMETALINK
guard. This reduces the number of #ifdefs.
Tatsuhiro Tsujikawa [Mon, 14 May 2012 12:55:48 +0000 (21:55 +0900)]
Fixed segmentation fault when Metalink has no valid file or no resource.
Tatsuhiro Tsujikawa [Tue, 8 May 2012 15:20:17 +0000 (00:20 +0900)]
Support media-type parameter in Content-Type
Tatsuhiro Tsujikawa [Tue, 8 May 2012 15:19:17 +0000 (00:19 +0900)]
Print "Metalink" in Features if Metalink support is enabled.
Tatsuhiro Tsujikawa [Sun, 6 May 2012 15:31:54 +0000 (00:31 +0900)]
Removed trailing space
ant [Sat, 5 May 2012 02:33:41 +0000 (22:33 -0400)]
Add --metalink to --help
ant [Sat, 5 May 2012 02:18:33 +0000 (22:18 -0400)]
Add Metalink information and --metalink option to man page
ant [Sat, 5 May 2012 01:58:05 +0000 (21:58 -0400)]
Add Metalink information and --metalink option to man page
ant [Fri, 4 May 2012 04:00:32 +0000 (00:00 -0400)]
Adds Metalink information to INSTALL
Tatsuhiro Tsujikawa [Sat, 28 Apr 2012 14:48:20 +0000 (23:48 +0900)]
--metalink option is available regardless of Metalink support.
Tatsuhiro Tsujikawa [Sat, 28 Apr 2012 14:46:32 +0000 (23:46 +0900)]
metalink: parse downloaded Metalink file
Parse downloaded Metalink file and add downloads described there. Fixed
compile error without metalink support.
Tatsuhiro Tsujikawa [Sat, 28 Apr 2012 14:45:56 +0000 (23:45 +0900)]
Fixed HAVE_LIBMETALINK conditional is always true
Tatsuhiro Tsujikawa [Sat, 28 Apr 2012 13:53:34 +0000 (22:53 +0900)]
metalink: minor metalinkfile fix
Don't update config->metalinkfile_last in operate(). Use local variable
to point to the current metalinkfile.