curl
10 years agoSECURITY: how to join the curl-security list
Daniel Stenberg [Mon, 8 Sep 2014 07:39:14 +0000 (09:39 +0200)]
SECURITY: how to join the curl-security list

10 years agoRELEASE-NOTES: fix the required nghttp2 version typo
Daniel Stenberg [Sun, 7 Sep 2014 22:12:18 +0000 (00:12 +0200)]
RELEASE-NOTES: fix the required nghttp2 version typo

10 years agoEnsure progress.size_dl/progress.size_ul are always >= 0
Brandon Casey [Fri, 29 Aug 2014 21:48:03 +0000 (23:48 +0200)]
Ensure progress.size_dl/progress.size_ul are always >= 0

Historically the default "unknown" value for progress.size_dl and
progress.size_ul has been zero, since these values are initialized
implicitly by the calloc that allocates the curl handle that these
variables are a part of.  Users of curl that install progress
callbacks may expect these values to always be >= 0.

Currently it is possible for progress.size_dl and progress.size_ul
to by set to a value of -1, if Curl_pgrsSetDownloadSize() or
Curl_pgrsSetUploadSize() are passed a "size" of -1 (which a few
places currently do, and a following patch will add more).  So
lets update Curl_pgrsSetDownloadSize() and Curl_pgrsSetUploadSize()
so they make sure that these variables always contain a value that
is >= 0.

Updates test579 and test599.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
10 years agotests: Added test1420 to the makefile
Steve Holme [Sun, 7 Sep 2014 11:12:38 +0000 (12:12 +0100)]
tests: Added test1420 to the makefile

10 years agotest1420: Removed unnecessary CURLOPT setting
Steve Holme [Sun, 7 Sep 2014 11:09:29 +0000 (12:09 +0100)]
test1420: Removed unnecessary CURLOPT setting

10 years agotests: Added more "Clear Text" authentication keywords
Steve Holme [Sun, 30 Mar 2014 14:09:55 +0000 (15:09 +0100)]
tests: Added more "Clear Text" authentication keywords

10 years agotests: Updated "based on" text due to email test renumbering
Steve Holme [Sun, 23 Mar 2014 12:30:02 +0000 (12:30 +0000)]
tests: Updated "based on" text due to email test renumbering

10 years agotests: For consistency added --libcurl to test name
Steve Holme [Sun, 23 Mar 2014 12:16:40 +0000 (12:16 +0000)]
tests: For consistency added --libcurl to test name

10 years agotests: Added --libcurl for IMAP test case
Steve Holme [Sun, 23 Mar 2014 12:03:41 +0000 (12:03 +0000)]
tests: Added --libcurl for IMAP test case

10 years agomulti.c: Avoid invalid memory read after free() from commit 3c8c873252
Steve Holme [Sun, 7 Sep 2014 06:09:14 +0000 (07:09 +0100)]
multi.c: Avoid invalid memory read after free() from commit 3c8c873252

As the current element in the list is free()d by Curl_llist_remove(),
when the associated connection is pending, reworked the loop to avoid
accessing the next element through e->next afterward.

10 years agomulti.c: Fixed compilation warning from commit 3c8c873252
Steve Holme [Sat, 6 Sep 2014 23:20:40 +0000 (00:20 +0100)]
multi.c: Fixed compilation warning from commit 3c8c873252

warning: implicit conversion from enumeration type 'CURLMcode' to
different enumeration type 'CURLcode'

10 years agourl.c: Use CURLAUTH_NONE constant rather than 0
Steve Holme [Sat, 6 Sep 2014 21:22:22 +0000 (22:22 +0100)]
url.c: Use CURLAUTH_NONE constant rather than 0

Small follow up to commit 898808fa8c to use auth constants rather than
hard code value when clearing picked authentication mechanism.

10 years agoRELEASE-NOTES: Synced with fd1ce3856a
Steve Holme [Sat, 6 Sep 2014 20:48:40 +0000 (21:48 +0100)]
RELEASE-NOTES: Synced with fd1ce3856a

10 years agodarwinssl: Use CopyCertSubject() to check CA cert.
Vilmos Nebehaj [Wed, 3 Sep 2014 09:39:16 +0000 (11:39 +0200)]
darwinssl: Use CopyCertSubject() to check CA cert.

SecCertificateCopyPublicKey() is not available on iPhone. Use
CopyCertSubject() instead to see if the certificate returned by
SecCertificateCreateWithData() is valid.

Reported-by: Toby Peterson
10 years agoRELEASE-NOTES: Clarify email Kerberos support is currently via Windows SSPI
Steve Holme [Thu, 4 Sep 2014 21:04:50 +0000 (22:04 +0100)]
RELEASE-NOTES: Clarify email Kerberos support is currently via Windows SSPI

10 years agoMAIL-ETIQUETTE: "1.8 I posted, now what?"
Daniel Stenberg [Thu, 4 Sep 2014 06:57:28 +0000 (08:57 +0200)]
MAIL-ETIQUETTE: "1.8 I posted, now what?"

10 years agoCURLOPT_CA*: better refering between *CAINFO and *CAPATH
Daniel Stenberg [Wed, 3 Sep 2014 21:04:52 +0000 (23:04 +0200)]
CURLOPT_CA*: better refering between *CAINFO and *CAPATH

... and a minor wording edit

10 years agoTHANKS: added Dennis Clarke
Daniel Stenberg [Wed, 3 Sep 2014 20:08:25 +0000 (22:08 +0200)]
THANKS: added Dennis Clarke

Dennis Clarke from Blastwave.org for ensuring that nightly builds run
smooth on Solaris!

10 years agocurl_multi_cleanup: remove superfluous NULL assigns
Daniel Stenberg [Tue, 2 Sep 2014 21:44:42 +0000 (23:44 +0200)]
curl_multi_cleanup: remove superfluous NULL assigns

... as the struct is free()d in the end anyway. It was first pointed out
to me that one of the ->msglist assignments were supposed to have been
->pending but was a copy and paste mistake when I realized none of the
clearing of pointers had to be there.

10 years agomulti: convert CURLM_STATE_CONNECT_PEND handling to a list
Daniel Stenberg [Tue, 2 Sep 2014 07:29:50 +0000 (09:29 +0200)]
multi: convert CURLM_STATE_CONNECT_PEND handling to a list

... instead of scanning through all handles, stash only the actual
handles that are in that state in the new ->pending list and scan that
list only. It should be mostly empty or very short. And only used for
pipelining.

This avoids a rather hefty slow-down especially notable if you add many
handles to the same multi handle. Regression introduced in commit
0f147887 (version 7.30.0).

Bug: http://curl.haxx.se/mail/lib-2014-07/0206.html
Reported-by: David Meyer
10 years agoRELEASE-NOTES: synced with e608324f9f9
Daniel Stenberg [Mon, 1 Sep 2014 20:54:52 +0000 (22:54 +0200)]
RELEASE-NOTES: synced with e608324f9f9

10 years agopolarssl: implement CURLOPT_SSLVERSION
Andre Heinecke [Mon, 1 Sep 2014 14:06:03 +0000 (16:06 +0200)]
polarssl: implement CURLOPT_SSLVERSION

Forwards the setting as minimum ssl version (if set) to polarssl.  If
the server does not support the requested version the SSL Handshake will
fail.

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

10 years agoMerge pull request #115 from ldx/darwinsslfixpr
nickzman [Mon, 1 Sep 2014 20:33:43 +0000 (15:33 -0500)]
Merge pull request #115 from ldx/darwinsslfixpr

darwinssl: now accepts cacert bundles in PEM format in addition to single certs

10 years agoCheck CA certificate in curl_darwinssl.c.
Vilmos Nebehaj [Sun, 31 Aug 2014 22:17:25 +0000 (00:17 +0200)]
Check CA certificate in curl_darwinssl.c.

SecCertificateCreateWithData() returns a non-NULL SecCertificateRef even
if the buffer holds an invalid or corrupt certificate. Call
SecCertificateCopyPublicKey() to make sure cacert is a valid
certificate.

10 years agolow-speed-limit: avoid timeout flood
Daniel Stenberg [Mon, 25 Aug 2014 09:34:14 +0000 (11:34 +0200)]
low-speed-limit: avoid timeout flood

Introducing Curl_expire_latest(). To be used when we the code flow only
wants to get called at a later time that is "no later than X" so that
something can be checked (and another timeout be added).

The low-speed logic for example could easily be made to set very many
expire timeouts if it would be called faster or sooner than what it had
set its own timer and this goes for a few other timers too that aren't
explictiy checked for timer expiration in the code.

If there's no condition the code that says if(time-passed >= TIME), then
Curl_expire_latest() is preferred to Curl_expire().

If there exists such a condition, it is on the other hand important that
Curl_expire() is used and not the other.

Bug: http://curl.haxx.se/mail/lib-2014-06/0235.html
Reported-by: Florian Weimer
10 years agoresolve: cache lookup for async resolvers
Michael Wallner [Wed, 20 Aug 2014 21:31:53 +0000 (23:31 +0200)]
resolve: cache lookup for async resolvers

While waiting for a host resolve, check if the host cache may have
gotten the name already (by someone else), for when the same name is
resolved by several simultanoues requests.

The resolver thread occasionally gets stuck in getaddrinfo() when the
DNS or anything else is crappy or slow, so when a host is found in the
DNS cache, leave the thread alone and let itself cleanup the mess.

10 years agoFix CA certificate bundle handling in darwinssl.
Vilmos Nebehaj [Thu, 28 Aug 2014 19:31:17 +0000 (21:31 +0200)]
Fix CA certificate bundle handling in darwinssl.

If the --cacert option is used with a CA certificate bundle that
contains multiple CA certificates, iterate through it, adding each
certificate as a trusted root CA.

10 years agogetinfo-times: Typo fixed
Askar Safin [Fri, 29 Aug 2014 10:48:32 +0000 (14:48 +0400)]
getinfo-times: Typo fixed

10 years agolibcurl.3: Typo fixed
Askar Safin [Fri, 29 Aug 2014 10:45:36 +0000 (14:45 +0400)]
libcurl.3: Typo fixed

10 years agocurl_formadd.3: setting CURLFORM_CONTENTSLENGTH 0 zero means strlen
Daniel Stenberg [Fri, 29 Aug 2014 06:10:38 +0000 (08:10 +0200)]
curl_formadd.3: setting CURLFORM_CONTENTSLENGTH 0 zero means strlen

10 years agocurl.1: add an example for -H
Daniel Stenberg [Fri, 29 Aug 2014 06:07:47 +0000 (08:07 +0200)]
curl.1: add an example for -H

10 years agoFAQ: mention -w in the 4.20 answer as well
Daniel Stenberg [Thu, 28 Aug 2014 09:42:00 +0000 (11:42 +0200)]
FAQ: mention -w in the 4.20 answer as well

10 years agoFAQ: 4.20 curl doesn't return error for HTTP non-200 responses
Daniel Stenberg [Thu, 28 Aug 2014 09:39:39 +0000 (11:39 +0200)]
FAQ: 4.20 curl doesn't return error for HTTP non-200 responses

10 years agoCURLOPT_NOBODY.3: clarify this option is for downloads
Daniel Stenberg [Wed, 27 Aug 2014 21:59:54 +0000 (23:59 +0200)]
CURLOPT_NOBODY.3: clarify this option is for downloads

When enabling CURLOPT_NOBODY, libcurl effectively switches off upload
mode and will do a download (without a body). This is now better
explained in this man page.

Bug: http://curl.haxx.se/mail/lib-2014-08/0236.html
Reported-by: John Coffey
10 years agoINTERNALS: nghttp2 must be 0.6.0 or later
Daniel Stenberg [Tue, 26 Aug 2014 21:05:26 +0000 (23:05 +0200)]
INTERNALS: nghttp2 must be 0.6.0 or later

10 years agoCompile with latest nghttp2
Tatsuhiro Tsujikawa [Mon, 25 Aug 2014 15:18:32 +0000 (00:18 +0900)]
Compile with latest nghttp2

10 years agoTHANKS: removed a few more duplicates
Dan Fandrich [Mon, 25 Aug 2014 22:38:17 +0000 (00:38 +0200)]
THANKS: removed a few more duplicates

10 years agoRELEASE-NOTES: synced with 007242257683a
Daniel Stenberg [Mon, 25 Aug 2014 22:02:52 +0000 (00:02 +0200)]
RELEASE-NOTES: synced with 007242257683a

... and bumped the contributor amount after recount

10 years agoTHANKS: added 52 missing contributors
Daniel Stenberg [Mon, 25 Aug 2014 21:09:59 +0000 (23:09 +0200)]
THANKS: added 52 missing contributors

I re-ran contributors.sh on all changes since 7.10 and I found these
contributors who are mentioned in the commits but never were added to
THANKS before!

I also removed a couple of duplicates (mostly due to different
spellings).

10 years agocontributors: grep and sort case insensitively
Daniel Stenberg [Mon, 25 Aug 2014 21:09:23 +0000 (23:09 +0200)]
contributors: grep and sort case insensitively

10 years agoconfigure.ac: Add support for recent GSS-API implementations for HP-UX
Michael Osipov [Fri, 8 Aug 2014 10:03:58 +0000 (12:03 +0200)]
configure.ac: Add support for recent GSS-API implementations for HP-UX

By default, configure script assumes that libcurl will use the
HP-supplied GSS-API implementation which does not have krb5-config.
If a dev needs a more recent version which has that config script,
the change will allow to pass an appropriate GSSAPI_ROOT.

10 years agoCONNECT: close proxy connections that fail to CONNECT
Daniel Stenberg [Mon, 25 Aug 2014 11:33:34 +0000 (13:33 +0200)]
CONNECT: close proxy connections that fail to CONNECT

This is usually due to failed auth. There's no point in us keeping such
a connection alive since it shouldn't be re-used anyway.

Bug: http://curl.haxx.se/bug/view.cgi?id=1381
Reported-by: Marcel Raad
10 years agoRELEASE-NOTES: added two missing HTTP/2 bug fixes
Daniel Stenberg [Mon, 25 Aug 2014 10:59:28 +0000 (12:59 +0200)]
RELEASE-NOTES: added two missing HTTP/2 bug fixes

And renamed all http2 references to HTTP/2 in this file

10 years agoRELEASE-NOTES: synced with f646e9075f47
Daniel Stenberg [Mon, 25 Aug 2014 10:53:08 +0000 (12:53 +0200)]
RELEASE-NOTES: synced with f646e9075f47

10 years agoCmake: Possibility to use OpenLDAP, OpenSSL, LibSSH2 on windows
Jakub Zakrzewski [Fri, 8 Aug 2014 08:23:26 +0000 (09:23 +0100)]
Cmake: Possibility to use OpenLDAP, OpenSSL, LibSSH2 on windows

At this point I can build libcurl on windows. It provides at least the same
list of protocols as for linux build and works with our software.

10 years agoCmake: Removed repeated content from ending blocks
Jakub Zakrzewski [Fri, 15 Aug 2014 12:57:53 +0000 (14:57 +0200)]
Cmake: Removed repeated content from ending blocks

They are unnecesary in modern CMake and removing them improves readability.

10 years agoCmake: Removed some useless empty SET statements.
Jakub Zakrzewski [Fri, 15 Aug 2014 12:56:18 +0000 (14:56 +0200)]
Cmake: Removed some useless empty SET statements.

Undefined variables resolve to empty strings and we do not ever test if
the variable is defined thus those SETs are superfluous.

10 years agoCmake: Removed useless comments from CMakeLists.txt
Jakub Zakrzewski [Fri, 15 Aug 2014 12:51:13 +0000 (14:51 +0200)]
Cmake: Removed useless comments from CMakeLists.txt

They look like some relics after changes.

10 years agoCmake: Don't check for all headers each time
Jakub Zakrzewski [Fri, 15 Aug 2014 12:24:25 +0000 (14:24 +0200)]
Cmake: Don't check for all headers each time

One header at a time is the right way. Apart from that the output on
windows goes from:
...
-- Looking for include files I:/src/libssh2-1.4.3/include/libssh2.h, ws2tcpip.h
-- Looking for include files I:/src/libssh2-1.4.3/include/libssh2.h, ws2tcpip.h
- found
-- Looking for 3 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins
ock2.h
-- Looking for 3 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins
ock2.h - found
-- Looking for 4 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., stdi
o.h
-- Looking for 4 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., stdi
o.h - found
-- Looking for 5 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wind
ows.h
-- Looking for 5 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wind
ows.h - found
-- Looking for 6 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins
ock.h
-- Looking for 6 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., wins
ock.h - found
-- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/
filio.h
-- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/
filio.h - not found
-- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/
ioctl.h
-- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/
ioctl.h - not found
-- Looking for 7 include files I:/src/libssh2-1.4.3/include/libssh2.h, ..., sys/
resource.h
...

To much nicer:
...
-- Looking for ws2tcpip.h
-- Looking for ws2tcpip.h - found
-- Looking for winsock2.h
-- Looking for winsock2.h - found
-- Looking for stdio.h
-- Looking for stdio.h - found
-- Looking for windows.h
-- Looking for windows.h - found
-- Looking for winsock.h
-- Looking for winsock.h - found
-- Looking for sys/filio.h
-- Looking for sys/filio.h - not found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - not found
-- Looking for sys/resource.h

10 years agoCmake: Append OpenSSL include directory to search path
Jakub Zakrzewski [Fri, 8 Aug 2014 11:32:03 +0000 (12:32 +0100)]
Cmake: Append OpenSSL include directory to search path

At this point I can build libcurl with OpenSSL, OpenLDAP and LibSSH2.
Supported protocols are at least:
HTTP, HTTPS, FTP, SFTP, TFTP, LDAP, LDAPS, POP3, SMTP
(those are the ones we have regression tests for
in our product's testsuite)

10 years agoCmake: Search for liblber, LDAP SSL headers, swith for using OpenLDAP code.
Jakub Zakrzewski [Wed, 6 Aug 2014 12:53:00 +0000 (14:53 +0200)]
Cmake: Search for liblber, LDAP SSL headers, swith for using OpenLDAP code.

10 years agoCmake: LibSSH2 detection and use.
Jakub Zakrzewski [Wed, 6 Aug 2014 12:50:40 +0000 (14:50 +0200)]
Cmake: LibSSH2 detection and use.

10 years agoCmake: Moved macros out of the main CMakeLists.txt
Jakub Zakrzewski [Wed, 6 Aug 2014 12:46:01 +0000 (14:46 +0200)]
Cmake: Moved macros out of the main CMakeLists.txt

10 years agoCmake: Added missing protocol-disable switches
Jakub Zakrzewski [Fri, 15 Aug 2014 11:51:08 +0000 (13:51 +0200)]
Cmake: Added missing protocol-disable switches

They already have their defines in config.h. This makes it possible to
disable the protocols from command line during configure step.

10 years agoCmake: Made boolean defines be defined to "1" instead of "ON"
Jakub Zakrzewski [Mon, 18 Aug 2014 14:33:45 +0000 (16:33 +0200)]
Cmake: Made boolean defines be defined to "1" instead of "ON"

It's by convention, for compatibility and because the comments say so.
Just mabe someone have written a test like "#if HAVE_XX==1"

10 years agoCmake: Require at least CMake 2.8.
Jakub Zakrzewski [Wed, 30 Jul 2014 15:24:47 +0000 (17:24 +0200)]
Cmake: Require at least CMake 2.8.

CMake 2.6 is already a bit old. Many bugs have been fixed since
its release. We use 2.8 in our company and we have no intention
of polluting our environment with old software, so 2.6 would
not be tested. This shouldn't be a problem since all one need
to build CMake from source is C and C++ compiler.

10 years agodisconnect: don't touch easy-related state on disconnects
Daniel Stenberg [Thu, 21 Aug 2014 09:20:19 +0000 (11:20 +0200)]
disconnect: don't touch easy-related state on disconnects

This was done to make sure NTLM state that is bound to a connection
doesn't survive and gets used for the subsequent request - but
disconnects can also be done to for example make room in the connection
cache and thus that connection is not strictly related to the easy
handle's current operation.

The http authentication state is still kept in the easy handle since all
http auth _except_ NTLM is connection independent and thus survive over
multiple connections.

Bug: http://curl.haxx.se/mail/lib-2014-08/0148.html
Reported-by: Paras S
10 years agocurl.1: clarify --limit-rate's effect on both directions
Daniel Stenberg [Fri, 22 Aug 2014 21:41:46 +0000 (23:41 +0200)]
curl.1: clarify --limit-rate's effect on both directions

Bug: http://curl.haxx.se/bug/view.cgi?id=1414
Reported-by: teo8976
10 years agocurl.1: mention the --post30x options within the --location desc
Daniel Stenberg [Fri, 22 Aug 2014 22:00:00 +0000 (00:00 +0200)]
curl.1: mention the --post30x options within the --location desc

10 years agosasl: Fixed a memory leak on OOM
Dan Fandrich [Fri, 22 Aug 2014 19:40:05 +0000 (21:40 +0200)]
sasl: Fixed a memory leak on OOM

10 years agoNTLM: ignore CURLOPT_FORBID_REUSE during NTLM HTTP auth
Frank Meier [Fri, 22 Aug 2014 12:54:41 +0000 (14:54 +0200)]
NTLM: ignore CURLOPT_FORBID_REUSE during NTLM HTTP auth

Problem: if CURLOPT_FORBID_REUSE is set, requests using NTLM failed
since NTLM requires multiple requests that re-use the same connection
for the authentication to work

Solution: Ignore the forbid reuse flag in case the NTLM authentication
handshake is in progress, according to the NTLM state flag.

Fixed known bug #77.

10 years agoopenssl.c: Fixed longer than 79 columns
Steve Holme [Fri, 22 Aug 2014 06:44:03 +0000 (07:44 +0100)]
openssl.c: Fixed longer than 79 columns

10 years agoopenssl.c: Fixed compilation warning
Steve Holme [Thu, 21 Aug 2014 19:38:13 +0000 (20:38 +0100)]
openssl.c: Fixed compilation warning

warning: declaration of 'minor' shadows a global declaration

10 years agowin32: Fixed WinSock 2 #if
Haris Okanovic [Thu, 14 Aug 2014 19:35:12 +0000 (14:35 -0500)]
win32: Fixed WinSock 2 #if

A conditionally compiled block in connect.c references WinSock 2
symbols, but used `#ifdef HAVE_WINSOCK_H` instead of `#ifdef
HAVE_WINSOCK2_H`.

Bug: http://curl.haxx.se/mail/lib-2014-08/0155.html

10 years agoCurl_disconnect: don't free the URL
Daniel Stenberg [Wed, 20 Aug 2014 14:37:01 +0000 (16:37 +0200)]
Curl_disconnect: don't free the URL

The URL is not a property of the connection so it should not be freed in
the connection disconnect but in the Curl_close() that frees the easy
handle.

Bug: http://curl.haxx.se/mail/lib-2014-08/0148.html
Reported-by: Paras S
10 years agohelp output: minor whitespace edits
Daniel Stenberg [Tue, 19 Aug 2014 21:44:49 +0000 (23:44 +0200)]
help output: minor whitespace edits

Should've been amended in the previous commit but wasn't due to a
mistake.

10 years agohelp output: use ≥2 spaces between option and description
Zearin [Tue, 19 Aug 2014 12:52:20 +0000 (08:52 -0400)]
help output: use ≥2 spaces between option and description

... and some other cleanups

10 years agoFAQ: some actually sometimes get paid...
Daniel Stenberg [Mon, 18 Aug 2014 06:38:34 +0000 (08:38 +0200)]
FAQ: some actually sometimes get paid...

10 years agosasl_sspi: Fixed a memory leak with the GSSAPI base-64 decoded challenge
Steve Holme [Sun, 17 Aug 2014 21:58:48 +0000 (22:58 +0100)]
sasl_sspi: Fixed a memory leak with the GSSAPI base-64 decoded challenge

10 years agosasl_sspi: Renamed GSSAPI mutual authentication parameter
Steve Holme [Sun, 17 Aug 2014 21:43:43 +0000 (22:43 +0100)]
sasl_sspi: Renamed GSSAPI mutual authentication parameter

...From "mutual" to "mutual_auth" which better describes what it is.

10 years agosasl_sspi: Corrected some of the GSSAPI security message error codes
Steve Holme [Sun, 17 Aug 2014 21:36:22 +0000 (22:36 +0100)]
sasl_sspi: Corrected some of the GSSAPI security message error codes

Corrected a number of the error codes that can be returned from the
Curl_sasl_create_gssapi_security_message() function when things go
wrong.

It makes more sense to return CURLE_BAD_CONTENT_ENCODING when the
inbound security challenge can't be decoded correctly or doesn't
contain the KERB_WRAP_NO_ENCRYPT flag and CURLE_OUT_OF_MEMORY when
EncryptMessage() fails. Unfortunately the previous error code of
CURLE_RECV_ERROR was a copy and paste mistakes on my part and should
have been correct in commit 4b491c675f :(

10 years agodocs: Escaped single backslash
Steve Holme [Sat, 16 Aug 2014 10:49:02 +0000 (11:49 +0100)]
docs: Escaped single backslash

10 years agoTODO: Updated following GSSAPI (Kerberos V5) additions
Steve Holme [Sat, 16 Aug 2014 10:42:04 +0000 (11:42 +0100)]
TODO: Updated following GSSAPI (Kerberos V5) additions

Updated "FTP 4.6 GSSAPI via Windows SSPI" and "SASL 14.1 Other
authentication mechanisms" following recent additions.

Added SASL 14.2 GSSAPI via GSS-API libraries.

10 years agoCURLOPT_USERNAME.3: Added Kerberos V5 and NTLM domain information
Steve Holme [Fri, 15 Aug 2014 21:04:08 +0000 (22:04 +0100)]
CURLOPT_USERNAME.3: Added Kerberos V5 and NTLM domain information

This repeats what has already been documented in both the curl manpage
and CURLOPT_USERPWD documentation but is provided here for completeness
as someone may not especially read the latter when using libcurl.

10 years agoCURLOPT_USERPWD.3: Updated following Kerberos V5 SSPI changes
Steve Holme [Fri, 15 Aug 2014 20:56:01 +0000 (21:56 +0100)]
CURLOPT_USERPWD.3: Updated following Kerberos V5 SSPI changes

Added information about Kerberos V5 requiring the domain part in the
user name.

Mentioned that the user name can be specified in UPN format, and not
just in Down-Level Logon Name format, following the information
added in commit 7679cb3fa8 reworking the exisitng information in the
process.

10 years agodocs: Added Kerberos V5 and NTLM domain information to --user
Steve Holme [Fri, 15 Aug 2014 20:36:35 +0000 (21:36 +0100)]
docs: Added Kerberos V5 and NTLM domain information to --user

10 years agodocs: Added Kerberos V5 to the --user SSPI current credentials usage
Steve Holme [Fri, 15 Aug 2014 20:06:55 +0000 (21:06 +0100)]
docs: Added Kerberos V5 to the --user SSPI current credentials usage

10 years agosasl_sspi: Tell the server we don't support a GSSAPI receive buffer
Steve Holme [Thu, 14 Aug 2014 22:50:31 +0000 (23:50 +0100)]
sasl_sspi: Tell the server we don't support a GSSAPI receive buffer

10 years agosmtp: Added support for GSSAPI (Kerberos V5) authentication via Windows SSPI
Steve Holme [Sun, 10 Aug 2014 21:33:17 +0000 (22:33 +0100)]
smtp: Added support for GSSAPI (Kerberos V5) authentication via Windows SSPI

10 years agopop3: Added support for GSSAPI (Kerberos V5) authentication via Windows SSPI
Steve Holme [Sun, 10 Aug 2014 21:01:07 +0000 (22:01 +0100)]
pop3: Added support for GSSAPI (Kerberos V5) authentication via Windows SSPI

10 years agoimap: Added support for GSSAPI (Kerberos V5) authentication via Windows SSPI
Steve Holme [Sun, 10 Aug 2014 20:32:56 +0000 (21:32 +0100)]
imap: Added support for GSSAPI (Kerberos V5) authentication via Windows SSPI

10 years agoemail: Added mutual authentication flag
Steve Holme [Thu, 14 Aug 2014 22:25:37 +0000 (23:25 +0100)]
email: Added mutual authentication flag

10 years agoRELEASE-NOTES: synced with 0187c9e11d079
Daniel Stenberg [Fri, 15 Aug 2014 10:19:20 +0000 (12:19 +0200)]
RELEASE-NOTES: synced with 0187c9e11d079

10 years agohttp: fix the Content-Range: parser
Daniel Stenberg [Thu, 14 Aug 2014 14:43:24 +0000 (16:43 +0200)]
http: fix the Content-Range: parser

... to handle "*/[total]". Also, removed the strange hack that made
CURLOPT_FAILONERROR on a 416 response after a *RESUME_FROM return
CURLE_OK.

Reported-by: Dimitrios Siganos
Bug: http://curl.haxx.se/mail/lib-2014-06/0221.html

10 years agoemail: Introduced the GSSAPI states
Steve Holme [Sat, 9 Aug 2014 22:38:08 +0000 (23:38 +0100)]
email: Introduced the GSSAPI states

10 years agocurl_sasl_sspi.c: Fixed more compilation warnings from commit 4b491c675f
Steve Holme [Thu, 14 Aug 2014 15:02:02 +0000 (16:02 +0100)]
curl_sasl_sspi.c: Fixed more compilation warnings from commit 4b491c675f

warning: unused variable 'resp'

warning: no previous prototype for 'Curl_sasl_gssapi_cleanup'

10 years agoSHA-1: 61c93383b7f6cf79d12ff99e9dced1d1cc2a7064
Steve Holme [Thu, 14 Aug 2014 14:55:55 +0000 (15:55 +0100)]
SHA-1: 61c93383b7f6cf79d12ff99e9dced1d1cc2a7064

* curl_sasl_sspi.c: Fixed compilation warning from commit 4b491c675f

warning: declaration of 'result' shadows a previous local

10 years agocurl_sasl.h: Fixed compilation error from commit 4b491c675f
Steve Holme [Thu, 14 Aug 2014 14:50:55 +0000 (15:50 +0100)]
curl_sasl.h: Fixed compilation error from commit 4b491c675f

warning: 'struct kerberos5data' declared inside parameter list

Due to missing forward declaration.

10 years agourldata.h: Fixed compilation warnings from commit 3ec253532e
Steve Holme [Thu, 14 Aug 2014 11:06:42 +0000 (12:06 +0100)]
urldata.h: Fixed compilation warnings from commit 3ec253532e

warning: extra tokens at end of #endif directive

10 years agosasl_sspi: Added GSSAPI message functions
Steve Holme [Wed, 13 Aug 2014 23:03:45 +0000 (00:03 +0100)]
sasl_sspi: Added GSSAPI message functions

10 years agourldata: Introduced a GSSAPI (Kerberos V5) data structure
Steve Holme [Sun, 10 Aug 2014 12:58:44 +0000 (13:58 +0100)]
urldata: Introduced a GSSAPI (Kerberos V5) data structure

Added a kerberos5data structure which is similar in nature to the
ntlmdata and negotiatedata structures.

10 years agosspi: Moved KERB_WRAP_NO_ENCRYPT from socks_sspi module
Steve Holme [Wed, 13 Aug 2014 21:59:28 +0000 (22:59 +0100)]
sspi: Moved KERB_WRAP_NO_ENCRYPT from socks_sspi module

In preparation for the upcoming SSPI implementation of GSSAPI
authentication, moved the definition of KERB_WRAP_NO_ENCRYPT from
socks_sspi.c to curl_sspi.h allowing it to be shared amongst other
SSPI based code.

10 years agomk-ca-bundle.pl: add missing $
Daniel Stenberg [Wed, 13 Aug 2014 21:49:01 +0000 (23:49 +0200)]
mk-ca-bundle.pl: add missing $

10 years agomk-ca-bundle.pl: switched to using hg.mozilla.org
Daniel Stenberg [Wed, 13 Aug 2014 21:42:53 +0000 (23:42 +0200)]
mk-ca-bundle.pl: switched to using hg.mozilla.org

... as mxr.mozilla.org is due to be retired.

The new host doesn't support If-Modified-Since nor ETags, meaning that
the script will now defer to download and do a post-transfer checksum
check to see if a new output is to be generated. The new output format
will hold the SHA1 checksum of the source file for that purpose.

We call this version 1.22

Reported-by: Ed Morley
Bug: http://curl.haxx.se/bug/view.cgi?id=1409

10 years agoopenssl: fix version report for the 0.9.8 branch
Jose Alf [Wed, 13 Aug 2014 06:47:56 +0000 (08:47 +0200)]
openssl: fix version report for the 0.9.8 branch

Fixed libcurl to correctly output the newer versions of OpenSSL 0.9.8,
starting from openssl-0.9.8za.

10 years agocreate_conn: prune dead connections
Frank Meier [Sun, 10 Aug 2014 22:06:20 +0000 (00:06 +0200)]
create_conn: prune dead connections

Bringing back the old functionality that was mistakenly removed when the
connection cache was remade. When creating a new connection, all the
existing ones are checked and those that are known to be dead get
disconnected for real and removed from the connection cache. It helps
the cache from holding on to very many stale connections and aids in
keeping down the number of system sockets in wait states.

Help-by: Jonatan Vela <jonatan.vela@ergon.ch>
Bug: http://curl.haxx.se/mail/lib-2014-06/0189.html

10 years agodocs/SSLCERTS: update the section about NSS database
Kamil Dudka [Fri, 1 Aug 2014 13:27:46 +0000 (15:27 +0200)]
docs/SSLCERTS: update the section about NSS database

Bug: http://curl.haxx.se/mail/lib-2014-07/0335.html
Reported-by: David Shaw
10 years agoCurl_poll + Curl_wait_ms: fix timeout return value
Peter Wang [Tue, 29 Jul 2014 04:33:07 +0000 (06:33 +0200)]
Curl_poll + Curl_wait_ms: fix timeout return value

Curl_poll and Curl_wait_ms require the fix applied to Curl_socket_check
in commits b61e8b8 and c771968:

When poll or select are interrupted and coincides with the timeout
elapsing, the functions return -1 indicating an error instead of 0 for
the timeout.

10 years agoconfig-tpf.h: Fixed up line lengths > 79 characters
Steve Holme [Sun, 10 Aug 2014 19:36:11 +0000 (20:36 +0100)]
config-tpf.h: Fixed up line lengths > 79 characters

10 years agoconfig-symbian.h: Fixed up line lengths > 79 characters
Steve Holme [Sun, 10 Aug 2014 19:35:01 +0000 (20:35 +0100)]
config-symbian.h: Fixed up line lengths > 79 characters