Daniel Stenberg [Fri, 15 Jun 2012 20:51:45 +0000 (22:51 +0200)]
Curl_rtsp_parseheader: avoid useless malloc/free
Coverity actually pointed out flawed logic in the previous call to
Curl_strntoupper() where the code used sizeof() of a pointer to pass in
a size argument. That code still worked since it only needed to
uppercase 4 letters. Still, the entire malloc/uppercase/free sequence
was pointless since the code has already matched the string once in the
condition that starts the block of code.
Daniel Stenberg [Fri, 15 Jun 2012 20:37:19 +0000 (22:37 +0200)]
curl_share_setopt: use va_end()
As spotted by Coverity, va_end() was not used previously. To make it
used I took away a bunch of return statements and made them into
assignments instead.
Yang Tse [Fri, 15 Jun 2012 19:50:57 +0000 (21:50 +0200)]
SSPI related code: Unicode support for WinCE - kill compiler warnings
Mark Salisbury [Fri, 15 Jun 2012 17:39:18 +0000 (19:39 +0200)]
SSPI related code: Unicode support for WinCE - commit
46480bb9 follow-up
Yang Tse [Fri, 15 Jun 2012 16:17:25 +0000 (18:17 +0200)]
build: add curl_multibyte files to build systems
Mark Salisbury [Fri, 15 Jun 2012 16:05:11 +0000 (18:05 +0200)]
SSPI related code: Unicode support for WinCE
SSPI related code now compiles with ANSI and WCHAR versions of security
methods (WinCE requires WCHAR versions of methods).
Pulled UTF8 to WCHAR conversion methods out of idn_win32.c into their own file.
curl_sasl.c - include curl_memory.h to use correct memory functions.
getenv.c and telnet.c - WinCE compatibility fix
With some committer adjustments
Guenter Knauf [Fri, 15 Jun 2012 00:24:51 +0000 (02:24 +0200)]
Fixed typo.
Yang Tse [Thu, 14 Jun 2012 17:19:18 +0000 (19:19 +0200)]
winbuild/MakefileBuild.vc: convert line endings to DOS style
As per request on mailing list: http://curl.haxx.se/mail/lib-2012-06/0222.html
Marc Hoersken [Thu, 14 Jun 2012 15:56:59 +0000 (17:56 +0200)]
winbuild: Allow SSPI build with or without Schannel
The changes introduced in commit
2bfa57bc32 are not enough
to make it actually possible to use the USE_WINSSL option.
Makefile.vc was not updated and the configuration name which is
used in the build path did not match between both build files.
This patch fixes those issues and introduces the following changes:
- Replaced the -schannel name with -winssl in order to be consistent
with the other options
- Added ENABLE_WINSSL option to winbuild/Makefile.vc (default yes)
- Changed winbuild/MakefileBuild.vc to set USE_WINSSL to true if
USE_SSL is false and USE_WINSSL was not specified as a parameter
- Separated WINSSL handling from SSPI handling to be consistent with
the other options and their corresponding code path
Yang Tse [Thu, 14 Jun 2012 16:10:29 +0000 (18:10 +0200)]
curl.1: 7.27.0 seems next release
Yang Tse [Thu, 14 Jun 2012 14:55:26 +0000 (16:55 +0200)]
schannel: fix printf-style format strings
Yang Tse [Thu, 14 Jun 2012 11:32:05 +0000 (13:32 +0200)]
Fix bad failf() and info() usage
Calls to failf() are not supposed to provide trailing newline.
Calls to infof() must provide trailing newline.
Fixed 30 or so strings.
Yang Tse [Thu, 14 Jun 2012 10:12:54 +0000 (12:12 +0200)]
schannel: fix unused parameter warnings
Yang Tse [Thu, 14 Jun 2012 10:10:51 +0000 (12:10 +0200)]
schannel: fix comparisons between signed and unsigned
Yang Tse [Thu, 14 Jun 2012 10:05:48 +0000 (12:05 +0200)]
schannel: fix discarding qualifier from pointer type
Yang Tse [Thu, 14 Jun 2012 09:53:46 +0000 (11:53 +0200)]
schannel: fix shadowing of global declarations
Yang Tse [Thu, 14 Jun 2012 09:34:12 +0000 (11:34 +0200)]
schannel: fix Curl_schannel_init() and Curl_schannel_cleanup() declarations
Gisle Vanem [Wed, 13 Jun 2012 23:51:51 +0000 (01:51 +0200)]
urldata.h: fix cyassl/openssl/ssl.h build clash with wincrypt.h
Building with CyaSSL failed compilation. Reason being that OCSP_REQUEST and
OCSP_RESPONSE are enum values in CyaSSL and defines in <wincrypt.h> included
via <winldap.h> in ldap.c.
http://curl.haxx.se/mail/lib-2012-06/0196.html
Yang Tse [Wed, 13 Jun 2012 19:15:41 +0000 (21:15 +0200)]
MakefileBuild.vc: Allow building without SSL
In order to use Windows native SSL support define 'USE_WINSSL'
Yang Tse [Wed, 13 Jun 2012 18:54:03 +0000 (20:54 +0200)]
configure: new option --with-winssl
This option may be used to build curl/libcurl using SSL/TLS support provided
by MS windows system libraries. Option is mutually exclusive with any other
SSL library. Default value is --without-winssl.
--with-winssl option implies --with-sspi option.
Option meaningful only for Windows builds.
Guenter Knauf [Wed, 13 Jun 2012 17:29:45 +0000 (19:29 +0200)]
Changed Schannel string to SSL-Windows-native.
This is more descriptive for the user who might
not even know what schannnel is at all.
Yang Tse [Wed, 13 Jun 2012 13:53:51 +0000 (15:53 +0200)]
schannel: remove version number and identify its use with 'schannel' literal
Version number is removed in order to make this info consistent with
how we do it with other MS and Linux system libraries for which we don't
provide this info.
Identifier changed from 'WinSSPI' to 'schannel' given that this is the
actual provider of the SSL/TLS support. libcurl can still be built with
SSPI and without SCHANNEL support.
Daniel Stenberg [Tue, 12 Jun 2012 21:04:04 +0000 (23:04 +0200)]
singlesocket: remove dead code
No need to check if 'entry' is non-NULL in a spot where it is already checked
and guaranteed to be non-NULL.
(Spotted by a Coverity scan)
Daniel Stenberg [Tue, 12 Jun 2012 20:46:14 +0000 (22:46 +0200)]
netrc: remove dead code
Remove two states from the enum and the corresponding code for them as
these states were never reached or used.
(Spotted by a Coverity scan)
Yang Tse [Tue, 12 Jun 2012 11:12:09 +0000 (13:12 +0200)]
Revert "connect.c/ftp.c: Fixed dereferencing pointer breakin strict-aliasing"
This reverts commit
9c94236e6cc078a0dc5a78b6e2fefc1403e5375e.
It didn't server its purpose, so lets go back to long-time working code.
Yang Tse [Tue, 12 Jun 2012 10:34:52 +0000 (12:34 +0200)]
socks_sspi.c: further cleanup
Marc Hoersken [Tue, 12 Jun 2012 06:50:10 +0000 (08:50 +0200)]
socks_sspi.c: Clean up and removal of obsolete minor status
Removed obsolete minor status variable and parameter of status function
which was never used or set at all. Also Curl_sspi_strerror does support
only one status and there is no need for a second sub status.
Guenter Knauf [Tue, 12 Jun 2012 03:36:08 +0000 (05:36 +0200)]
Removed trailing whitespaces.
Yang Tse [Tue, 12 Jun 2012 01:57:15 +0000 (03:57 +0200)]
strerror.c: make Curl_sspi_strerror() always return code for errors
Yang Tse [Tue, 12 Jun 2012 01:56:24 +0000 (03:56 +0200)]
curl_sspi.h: provide sspi status definitions missing in old headers
Yang Tse [Mon, 11 Jun 2012 23:11:10 +0000 (01:11 +0200)]
sspi: make Curl_sspi_strerror() libcurl's sspi status code string function
Yang Tse [Mon, 11 Jun 2012 23:06:48 +0000 (01:06 +0200)]
sspi: make Curl_sspi_strerror() libcurl's sspi status code string function
Daniel Stenberg [Mon, 11 Jun 2012 20:58:39 +0000 (22:58 +0200)]
Revert:
634f7cfee40d4658 partially
Make sure CURL_VERSION_SSPI is present and works as in previous releases
for ABI and API compatibility reasons.
Daniel Stenberg [Mon, 11 Jun 2012 17:08:46 +0000 (19:08 +0200)]
checksrc: shorten a few lines to comply
Daniel Stenberg [Mon, 11 Jun 2012 17:06:43 +0000 (19:06 +0200)]
cleanup: remove trailing whitespace
Marc Hoersken [Mon, 11 Jun 2012 17:04:49 +0000 (19:04 +0200)]
winbuild: Removed WITH_SSL=schannel and tie schannel to SSPI
Removed specific WITH_SSL=schannel paramter that did not fit the general
schema and complicated the parameters. For now Schannel will be enabled
if SSPI is enabled and OpenSSL is disabled.
Steve Holme [Mon, 11 Jun 2012 17:04:16 +0000 (19:04 +0200)]
Makefile.vc6: Added version.lib if built with SSPI
Marc Hoersken [Mon, 11 Jun 2012 17:03:14 +0000 (19:03 +0200)]
winbuild: Updated winbuild scripts to add schannel
Marc Hoersken [Sun, 10 Jun 2012 21:40:29 +0000 (23:40 +0200)]
mingw32: Fixed warning of USE_SSL being redefined
Marc Hoersken [Sun, 10 Jun 2012 21:31:59 +0000 (23:31 +0200)]
sspi: Fixed incompatible parameter pointer type in Curl_sspi_version
Marc Hoersken [Sun, 10 Jun 2012 20:34:43 +0000 (22:34 +0200)]
sspi: Updated RELEASE-NOTES, FEATURES and THANKS
Marc Hoersken [Mon, 11 Jun 2012 06:37:22 +0000 (08:37 +0200)]
setup.h: Automatically define USE_SSL if USE_SCHANNEL is defined
Marc Hoersken [Mon, 11 Jun 2012 06:36:48 +0000 (08:36 +0200)]
version: Replaced SSPI feature information with version string details
Added Windows SSPI version information to the curl version string when
SCHANNEL SSL is not enabled, as the version of the library should also
be included when SSPI is used to generate security contexts.
Removed SSPI from the feature list as the features are GSS-Negotiate,
NTLM and SSL depending on the usage of the SSPI library.
Steve Holme [Sun, 10 Jun 2012 11:30:02 +0000 (12:30 +0100)]
sspi.c: Post Curl_sspi_version() rework code tidy up
Removed duplicate blank lines.
Removed spaces between the not and test in various if statements.
Removed explicit test of NULL in an if statement.
Placed function returns on same line as function declarations.
Replaced the use of curl_maprintf() with aprintf() as it is the
preprocessor job to do this substitution if ENABLE_CURLX_PRINTF
is set.
Steve Holme [Sun, 10 Jun 2012 11:07:45 +0000 (12:07 +0100)]
sspi: Reworked Curl_sspi_version() to return version components
Reworked the version function to return four version components rather
than a string that has to be freed by the caller.
Guenter Knauf [Mon, 23 Apr 2012 00:14:32 +0000 (01:14 +0100)]
configure.ac: Added -lversion if built with SSPI
Marc Hoersken [Sun, 15 Apr 2012 02:12:26 +0000 (04:12 +0200)]
schannel: Code cleanup and bug fixes
curl_sspi.c: Fixed mingw32-gcc compiler warnings
curl_sspi.c: Fixed length of error code hex output
The hex value was printed as signed 64-bit value on 64-bit systems:
SEC_E_WRONG_PRINCIPAL (0xFFFFFFFF80090322)
It is now correctly printed as the following:
SEC_E_WRONG_PRINCIPAL (0x80090322)
curl_sspi.c: Fallback to security function table version number
Instead of reporting an unknown version, the interface version is used.
curl_sspi.c: Removed SSPI/ version prefix from Curl_sspi_version
curl_schannel: Replaced static buffer sizes with defined names
curl_schannel.c: First brace when declaring functions on column 0
curl_schannel.c: Put the pointer sign directly at variable name
curl_schannel.c: Use structs directly instead of typedef'ed structs
curl_schannel.c: Removed space before opening brace
curl_schannel.c: Fixed lines being longer than 80 chars
Marc Hoersken [Sat, 14 Apr 2012 13:00:33 +0000 (15:00 +0200)]
curl_sspi: Added Curl_sspi_version function
Added new function to get SSPI version as string.
Added required library version.lib to makefiles.
Changed curl_schannel.c to use Curl_sspi_version.
Guenter Knauf [Fri, 13 Apr 2012 11:17:57 +0000 (13:17 +0200)]
schannel: Updated mingw32 makefiles
Marc Hoersken [Fri, 13 Apr 2012 11:10:09 +0000 (13:10 +0200)]
schannel: Replace ASCII specific code with general defines
Marc Hoersken [Fri, 13 Apr 2012 11:09:24 +0000 (13:09 +0200)]
schannel: Added definitions which are missing in mingw32
Marc Hoersken [Fri, 13 Apr 2012 11:04:53 +0000 (13:04 +0200)]
schannel: Moved interal struct types to urldata.h
Moved type definitions in order to avoid inclusion loop
Marc Hoersken [Fri, 13 Apr 2012 11:05:26 +0000 (13:05 +0200)]
schannel: Fixed compiler warnings about pointer type assignments
Marc Hoersken [Fri, 13 Apr 2012 11:02:59 +0000 (13:02 +0200)]
schannel: Fixed critical typo in conditions and added buffer length checks
Marc Hoersken [Wed, 11 Apr 2012 15:25:26 +0000 (17:25 +0200)]
sspi: Refactored socks_sspi and schannel to use same error message functions
Moved the error constant switch to curl_sspi.c and added two new helper
functions to curl_sspi.[ch] which either return the constant or a fully
translated message representing the SSPI security status.
Updated socks_sspi.c and curl_schannel.c to use the new functions.
Marc Hoersken [Tue, 10 Apr 2012 19:49:35 +0000 (21:49 +0200)]
schannel: Added special shutdown check for Windows 2000 Professional
Windows 2000 Professional: Schannel returns SEC_E_OK instead
of SEC_I_CONTEXT_EXPIRED. If the length of the output buffer
is zero and the first byte of the encrypted packet is 0x15,
the application can safely assume that the message was a
close_notify message and change the return value to
SEC_I_CONTEXT_EXPIRED.
Connection shutdown does not mean that there is no data to read
Correctly handle incomplete message and ask curl to re-read
Fixed buffer for decrypted being to small
Re-structured read condition to be more effective
Removed obsolete verbose messages
Changed memory reduction method to keep a minimum buffer of size 4096
Marc Hoersken [Tue, 10 Apr 2012 19:21:31 +0000 (21:21 +0200)]
schannel: Implemented SSL/TLS renegotiation
Updated TODO information and added related MSDN articles
Marc Hoersken [Mon, 9 Apr 2012 21:24:55 +0000 (23:24 +0200)]
schannel: Save session credential handles in session cache
Marc Hoersken [Mon, 9 Apr 2012 20:43:48 +0000 (22:43 +0200)]
schannel: Code cleanup
Marc Hoersken [Mon, 9 Apr 2012 20:33:58 +0000 (22:33 +0200)]
schannel: Check for required context attributes
Marc Hoersken [Mon, 9 Apr 2012 16:35:00 +0000 (18:35 +0200)]
schannel: Allow certificate and revocation checks being deactivated
Marc Hoersken [Mon, 9 Apr 2012 13:40:06 +0000 (15:40 +0200)]
schannel: Added SSL/TLS support with Microsoft Windows Schannel SSPI
Marc Hoersken [Mon, 9 Apr 2012 13:19:54 +0000 (15:19 +0200)]
http: Replaced specific SSL libraries list in https_getsock fallback
Marc Hoersken [Mon, 11 Jun 2012 10:24:03 +0000 (12:24 +0200)]
connect.c/ftp.c: Fixed dereferencing pointer breakin strict-aliasing
Fixed warning: dereferencing pointer does break strict-aliasing rules
by using a union instead of separate pointer variables.
Internal union sockaddr_u could probably be moved to generic header.
Thanks to Paul Howarth for the hint about using unions for this.
Important for winbuild: Separate declaration of sockaddr_u pointer.
The pointer variable *sock cannot be declared and initialized right
after the union declaration. Therefore it has to be a separate statement.
Marc Hoersken [Mon, 11 Jun 2012 00:23:00 +0000 (02:23 +0200)]
curl_ntlm_msgs.c: Fixed passwdlen not being used and recalculated
Yang Tse [Mon, 11 Jun 2012 11:56:40 +0000 (13:56 +0200)]
tests: fix test definitions # 1355, 1363, 1385 and 1393
-i without HTTP protocol shall not include headers in the output
Daniel Stenberg [Sun, 10 Jun 2012 21:39:04 +0000 (23:39 +0200)]
Curl_pgrsDone: return int and acknowledge return code
Since Curl_pgrsDone() itself calls Curl_pgrsUpdate() which may return an
abort instruction or similar we need to return that info back and
subsequently properly handle return codes from Curl_pgrsDone() where
used.
(Spotted by a Coverity scan)
Marc Hoersken [Sun, 10 Jun 2012 14:50:11 +0000 (16:50 +0200)]
winbuild: Fixed environment variables being lost
Fixed USE_IPV6 and USE_IDN not being passed
from Makefile.vc to MakefileBuild.vc
Fixed whitespace and formatting issues
Fixed typo and format in help message
Guenter Knauf [Sat, 9 Jun 2012 21:10:23 +0000 (23:10 +0200)]
Added metalink support to NetWare builds.
Steve Holme [Sat, 9 Jun 2012 18:49:59 +0000 (19:49 +0100)]
smtp.c: Removed unused variable
Steve Holme [Sat, 9 Jun 2012 18:22:29 +0000 (19:22 +0100)]
smtp: Post apop feature code tidy up
Steve Holme [Sat, 9 Jun 2012 18:21:44 +0000 (19:21 +0100)]
pop3: Post apop feature code tidy up
Steve Holme [Sat, 9 Jun 2012 12:49:37 +0000 (13:49 +0100)]
pop3: Added support for apop authentication
Steve Holme [Sat, 9 Jun 2012 10:48:44 +0000 (11:48 +0100)]
pop3: Enhanced the extended authentication mechanism detection
Enhanced the authentication type / mechanism detection in preparation
for the introduction of APOP support.
Steve Holme [Sat, 9 Jun 2012 10:08:08 +0000 (11:08 +0100)]
pop3.c: Fixed length of SASL check
Yang Tse [Sat, 9 Jun 2012 03:42:39 +0000 (05:42 +0200)]
Fixes allowing 26 more test cases in 1334 to 1393 range to succeed
Yang Tse [Sat, 9 Jun 2012 03:31:57 +0000 (05:31 +0200)]
tests: fix test definitions # 1370 and 1371
-J without -O shall not honor C-D filename
Daniel Stenberg [Fri, 8 Jun 2012 22:06:54 +0000 (00:06 +0200)]
OpenSSL: support longer certificate subject names
Previously it would use a 256 byte buffer and thus cut off very long
subject names. The limit is now upped to the receive buffer size, 16K.
Bug: http://curl.haxx.se/bug/view.cgi?id=3533045
Reported by: Anthony G. Basile
Kamil Dudka [Fri, 8 Jun 2012 21:02:57 +0000 (23:02 +0200)]
ssl: fix duplicated SSL handshake with multi interface and proxy
Bug: https://bugzilla.redhat.com/788526
Reported by: Enrico Scholz
Daniel Stenberg [Fri, 8 Jun 2012 21:14:30 +0000 (23:14 +0200)]
tool_getparam.h: fix compiler error
forward declare the Configurable struct
Daniel Stenberg [Fri, 8 Jun 2012 21:13:32 +0000 (23:13 +0200)]
metalink: restore some includes
Commit
eeeba1496cbca removed them and thus broke my Linux build
Daniel Stenberg [Fri, 8 Jun 2012 18:56:22 +0000 (20:56 +0200)]
openldap: OOM fixes
when calloc fails, return error! (Detected by Fortify)
Reported by: Robert B. Harris
Steve Holme [Fri, 8 Jun 2012 18:52:28 +0000 (19:52 +0100)]
sasl: Re-factored mechanism constants in preparation for APOP work
Yang Tse [Fri, 8 Jun 2012 12:21:29 +0000 (14:21 +0200)]
metalink: build fixes and adjustments II
Additionally, make hash checking ability mandatory in order to allow metalink
support in curl.
A command line option could be introduced to skip hash checking at runtime,
but the ability to check hashes should always be built-in when providing
metalink support.
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