]> granicus.if.org Git - curl/log
curl
10 years agocurl_schannel.c: Data may be available before connection shutdown
Marc Hoersken [Sun, 14 Dec 2014 15:40:49 +0000 (16:40 +0100)]
curl_schannel.c: Data may be available before connection shutdown

10 years agohttp2: Use 'CURLcode result' for curl result codes
Steve Holme [Sun, 14 Dec 2014 13:09:29 +0000 (13:09 +0000)]
http2: Use 'CURLcode result' for curl result codes

10 years agoasyn-thread: We prefer 'CURLcode result'
Steve Holme [Sun, 14 Dec 2014 12:52:08 +0000 (12:52 +0000)]
asyn-thread:  We prefer 'CURLcode result'

10 years agosmb: Fixed unnecessary initialisation of struct member variables
Steve Holme [Sun, 14 Dec 2014 12:27:57 +0000 (12:27 +0000)]
smb: Fixed unnecessary initialisation of struct member variables

There is no need to set the 'state' and 'result' member variables to
SMB_REQUESTING (0) and CURLE_OK (0) after the allocation via calloc()
as calloc() initialises the contents to zero.

10 years agontlm: Fixed return code for bad type-2 Target Info
Steve Holme [Sun, 14 Dec 2014 12:07:57 +0000 (12:07 +0000)]
ntlm: Fixed return code for bad type-2 Target Info

Use CURLE_BAD_CONTENT_ENCODING for bad type-2 Target Info security
buffers just like we do for bad decodes.

10 years agontlm: Remove unnecessary casts in readshort_le()
Steve Holme [Sun, 14 Dec 2014 11:45:14 +0000 (11:45 +0000)]
ntlm: Remove unnecessary casts in readshort_le()

I don't think both of my fix ups from yesterday were needed to fix the
compilation warning, so remove the one that I think is unnecessary and
let the next Android autobuild prove/disprove it.

10 years agocurl_ntlm_msgs.c: Another attempt to fix compilation warning
Steve Holme [Sat, 13 Dec 2014 14:55:26 +0000 (14:55 +0000)]
curl_ntlm_msgs.c: Another attempt to fix compilation warning

curl_ntlm_msgs.c:170: warning: conversion to 'short unsigned int' from
                      'int' may alter its value

10 years agosynctime.c: added own user-agent string.
Guenter Knauf [Sat, 13 Dec 2014 14:02:30 +0000 (15:02 +0100)]
synctime.c: added own user-agent string.

10 years agosmb.c: Fixed line longer than 79 columns
Steve Holme [Sat, 13 Dec 2014 13:06:56 +0000 (13:06 +0000)]
smb.c: Fixed line longer than 79 columns

10 years agocurl_ntlm_msgs.c: Fixed compilation warning from commit 783b5c3b11
Steve Holme [Sat, 13 Dec 2014 12:51:11 +0000 (12:51 +0000)]
curl_ntlm_msgs.c: Fixed compilation warning from commit 783b5c3b11

curl_ntlm_msgs.c:169: warning: conversion to 'short unsigned int' from
                      'int' may alter its value

10 years agomk-ca-bundle.pl: restored forced run again.
Guenter Knauf [Sat, 13 Dec 2014 12:46:45 +0000 (13:46 +0100)]
mk-ca-bundle.pl: restored forced run again.

10 years agosynctime.c: removed another timeserver URL.
Guenter Knauf [Sat, 13 Dec 2014 12:43:19 +0000 (13:43 +0100)]
synctime.c: removed another timeserver URL.

worldtimeserver.com seems also no longer available.

10 years agosynctime.c: fixed timeserver URLs.
Guenter Knauf [Sat, 13 Dec 2014 12:29:59 +0000 (13:29 +0100)]
synctime.c: fixed timeserver URLs.

For getting the date header its not necessary to access special
pages or even CGI scripts - all pages including the main index
reply with the date header, therefore shortened URLs to domain.
Removed worldtime.com; added pool.ntp.org.

10 years agoftp.c: Fixed compilation warning when no verbose string support
Steve Holme [Sat, 13 Dec 2014 12:32:32 +0000 (12:32 +0000)]
ftp.c: Fixed compilation warning when no verbose string support

ftp.c:819: warning: unused parameter 'lineno'

10 years agosmb: Added state change functions to assist with debugging
Steve Holme [Sat, 13 Dec 2014 12:12:45 +0000 (12:12 +0000)]
smb: Added state change functions to assist with debugging

For debugging purposes, and as per other protocols within curl, added
state change functions rather than changing the states directly.

10 years agontlm: Use short integer when decoding 16-bit values
Steve Holme [Sat, 13 Dec 2014 11:14:55 +0000 (11:14 +0000)]
ntlm: Use short integer when decoding 16-bit values

10 years agoRELEASE-NOTES: Synced with 6291a16b20
Steve Holme [Fri, 12 Dec 2014 23:30:50 +0000 (23:30 +0000)]
RELEASE-NOTES: Synced with 6291a16b20

10 years agosmtp.c: Fixed compilation warnings
Steve Holme [Fri, 12 Dec 2014 22:57:31 +0000 (22:57 +0000)]
smtp.c: Fixed compilation warnings

smtp.c:2357 warning: adding 'size_t' (aka 'unsigned long') to a string
            does not append to the string
smtp.c:2375 warning: adding 'size_t' (aka 'unsigned long') to a string
            does not append to the string
smtp.c:2386 warning: adding 'size_t' (aka 'unsigned long') to a string
            does not append to the string

Used array index notation instead.

10 years agosmb: Disable SMB when 64-bit integers are not supported
Steve Holme [Fri, 12 Dec 2014 22:08:03 +0000 (22:08 +0000)]
smb: Disable SMB when 64-bit integers are not supported

This fixes compilation issues with compilers that don't support 64-bit
integers through long long or __int64.

10 years agontlm: Disable NTLM v2 when 64-bit integers are not supported
Steve Holme [Fri, 12 Dec 2014 21:57:59 +0000 (21:57 +0000)]
ntlm: Disable NTLM v2 when 64-bit integers are not supported

This fixes compilation issues with compilers that don't support 64-bit
integers through long long or __int64 which was introduced in commit
07b66cbfa4.

10 years agontlm: Allow NTLM2Session messages when USE_NTRESPONSES manually defined
Steve Holme [Fri, 12 Dec 2014 21:40:09 +0000 (21:40 +0000)]
ntlm: Allow NTLM2Session messages when USE_NTRESPONSES manually defined

Previously USE_NTLM2SESSION would only be defined automatically when
USE_NTRESPONSES wasn't already defined. Separated the two definitions
so that the user can manually set USE_NTRESPONSES themselves but
USE_NTLM2SESSION is defined automatically if they don't define it.

10 years agosmtp.c: Fixed line longer than 79 columns
Steve Holme [Fri, 12 Dec 2014 21:06:01 +0000 (21:06 +0000)]
smtp.c: Fixed line longer than 79 columns

10 years agoconfig-win32.h: Don't enable Windows Crypt API if using OpenSSL
Steve Holme [Fri, 12 Dec 2014 19:46:56 +0000 (19:46 +0000)]
config-win32.h: Don't enable Windows Crypt API if using OpenSSL

As the OpenSSL and NSS Crypto engines are prefered by the core NTLM
routines, to the Windows Crypt API, don't define USE_WIN32_CRYPT
automatically when either OpenSSL or NSS are in use - doing so would
disable NTLM2Session responses in NTLM type-3 messages.

10 years agosmtp: Fixed inappropriate free of the scratch buffer
Steve Holme [Fri, 12 Dec 2014 18:55:16 +0000 (18:55 +0000)]
smtp: Fixed inappropriate free of the scratch buffer

If the scratch buffer was allocated in a previous call to
Curl_smtp_escape_eob(), a new buffer not allocated in the subsequent
call and no action taken by that call, then an attempt would be made to
try and free the buffer which, by now, would be part of the data->state
structure.

This bug was introduced in commit 4bd860a001.

10 years agosmtp: Fixed dot stuffing when EOL characters were at end of input buffers
Steve Holme [Fri, 12 Dec 2014 18:37:06 +0000 (18:37 +0000)]
smtp: Fixed dot stuffing when EOL characters were at end of input buffers

Fixed a problem with the CRLF. detection when multiple buffers were
used to upload an email to libcurl and the line ending character(s)
appeared at the end of each buffer. This meant any lines which started
with . would not be escaped into .. and could be interpreted as the end
of transmission string instead.

This only affected libcurl based applications that used a read function
and wasn't reproducible with the curl command-line tool.

Bug: http://curl.haxx.se/bug/view.cgi?id=1456
Assisted-by: Patrick Monnerat
10 years agotelnet: fix "cast increases required alignment of target type"
Daniel Stenberg [Thu, 11 Dec 2014 08:15:04 +0000 (09:15 +0100)]
telnet: fix "cast increases required alignment of target type"

10 years agontlm_wb_response: fix "statement not reached"
Daniel Stenberg [Wed, 10 Dec 2014 21:43:44 +0000 (22:43 +0100)]
ntlm_wb_response: fix "statement not reached"

... and I could use a break instead of a goto to end the loop.

Bug: http://curl.haxx.se/mail/lib-2014-12/0089.html
Reported-by: Tor Arntsen
10 years agoRELEASE-NOTES: Synced with 1cc5194337
Steve Holme [Wed, 10 Dec 2014 12:59:41 +0000 (12:59 +0000)]
RELEASE-NOTES: Synced with 1cc5194337

Added some bug fixes that I had missed in previous synchronisations.

10 years agoCurl_unix2addr: avoid using the variable name 'sun'
Daniel Stenberg [Wed, 10 Dec 2014 12:12:26 +0000 (13:12 +0100)]
Curl_unix2addr: avoid using the variable name 'sun'

I suspect this causes compile failures on Solaris:

Bug: http://curl.haxx.se/mail/lib-2014-12/0081.html

10 years agourl.c: Fixed compilation warning when USE_NTLM is not defined
Steve Holme [Wed, 10 Dec 2014 11:57:11 +0000 (11:57 +0000)]
url.c: Fixed compilation warning when USE_NTLM is not defined

url.c:3078: warning: variable 'credentialsMatch' set but not used

10 years agoparsedate.c: Fixed compilation warning
Steve Holme [Wed, 10 Dec 2014 11:38:38 +0000 (11:38 +0000)]
parsedate.c: Fixed compilation warning

parsedate.c:548: warning: 'parsed' may be used uninitialized in this
                 function

As curl_getdate() returns -1 when parsedate() fails we can initialise
parsed to -1.

10 years agoTODO: Cache negative name resolves
Daniel Stenberg [Wed, 10 Dec 2014 10:56:43 +0000 (11:56 +0100)]
TODO: Cache negative name resolves

Worth exploring

10 years agoldap: check Curl_client_write() return codes
Daniel Stenberg [Tue, 9 Dec 2014 23:41:32 +0000 (00:41 +0100)]
ldap: check Curl_client_write() return codes

There might be one or two memory leaks left in the error paths.

10 years agoldap: rename variables to comply to curl standards
Daniel Stenberg [Tue, 9 Dec 2014 23:36:31 +0000 (00:36 +0100)]
ldap: rename variables to comply to curl standards

10 years agosws.c: Fixed 'rc' may be used uninitialized warning
Dan Fandrich [Tue, 9 Dec 2014 23:06:10 +0000 (00:06 +0100)]
sws.c: Fixed 'rc' may be used uninitialized warning

10 years agocookies: Improved OOM handling in cookies
Dan Fandrich [Sun, 7 Dec 2014 11:24:29 +0000 (12:24 +0100)]
cookies: Improved OOM handling in cookies

This fixes the test 506 torture test. The internal cookie API really
ought to be improved to separate cookie parsing errors (which may be
ignored) with OOM errors (which should be fatal).

10 years agosynctime.c: fixed user-agent setting.
Guenter Knauf [Tue, 9 Dec 2014 17:18:40 +0000 (18:18 +0100)]
synctime.c: fixed user-agent setting.

Some websites meanwhile refuse to reply to requests from ancient
browsers like IE6, therefore I've comment out this setting, but
also fixed the string to now fake IE8 if someone enables it.

10 years agosmb: fix unused return code warning
Daniel Stenberg [Tue, 9 Dec 2014 12:38:55 +0000 (13:38 +0100)]
smb: fix unused return code warning

10 years agoCurl_client_write() & al.: chop long data, convert data only once.
Patrick Monnerat [Tue, 9 Dec 2014 14:43:51 +0000 (15:43 +0100)]
Curl_client_write() & al.: chop long data, convert data only once.

10 years agoVC build: added sspi define for winssl-zlib builds.
Guenter Knauf [Tue, 9 Dec 2014 12:30:28 +0000 (13:30 +0100)]
VC build: added sspi define for winssl-zlib builds.

10 years agoschannel_recv: return the correct code
Daniel Stenberg [Tue, 9 Dec 2014 10:45:43 +0000 (11:45 +0100)]
schannel_recv: return the correct code

Bug: http://curl.haxx.se/bug/view.cgi?id=1462
Reported-by: Tae Hyoung Ahn
10 years agohttp2: avoid logging neg "failure" if h2 was not requested
Daniel Stenberg [Mon, 8 Dec 2014 23:09:24 +0000 (00:09 +0100)]
http2: avoid logging neg "failure" if h2 was not requested

10 years agoopenldap: do not ignore Curl_client_write() return codes
Daniel Stenberg [Mon, 8 Dec 2014 14:30:14 +0000 (15:30 +0100)]
openldap: do not ignore Curl_client_write() return codes

10 years agocompile: warn on unused return code from Curl_client_write()
Daniel Stenberg [Mon, 8 Dec 2014 14:29:30 +0000 (15:29 +0100)]
compile: warn on unused return code from Curl_client_write()

10 years agoSMB: Fix a data size mismatch that broke SMB on big-endian platforms
Patrick Monnerat [Mon, 8 Dec 2014 14:30:11 +0000 (15:30 +0100)]
SMB: Fix a data size mismatch that broke SMB on big-endian platforms

10 years agosmb: Fixed Windows autoconf builds following commit eb88d778e7
Steve Holme [Sun, 7 Dec 2014 20:44:57 +0000 (20:44 +0000)]
smb: Fixed Windows autoconf builds following commit eb88d778e7

As Windows based autoconf builds don't yet define USE_WIN32_CRYPTO
either explicitly through --enable-win32-cypto or automatically on
_WIN32 based platforms, subsequent builds broke with the following
error message:

"Can't compile NTLM support without a crypto library."

10 years agoRELEASE-NOTES: Synced with 526603ff05
Steve Holme [Sun, 7 Dec 2014 18:58:17 +0000 (18:58 +0000)]
RELEASE-NOTES: Synced with 526603ff05

10 years agosmb: Build with SSPI enabled
Bill Nagel [Tue, 2 Dec 2014 18:36:40 +0000 (13:36 -0500)]
smb: Build with SSPI enabled

Build SMB/CIFS protocol support when SSPI is enabled.

10 years agontlm: Use Windows Crypt API
Bill Nagel [Tue, 2 Dec 2014 18:21:52 +0000 (13:21 -0500)]
ntlm: Use Windows Crypt API

Allow the use of the Windows Crypt API for NTLMv1 functions.

10 years agocookie.c: Refactored cleanup code to simplify
Dan Fandrich [Sun, 7 Dec 2014 11:22:52 +0000 (12:22 +0100)]
cookie.c: Refactored cleanup code to simplify

Also, fixed the outdated comments on the cookie API.

10 years agoget_url_file_name: Fixed crash on OOM on debug build
Dan Fandrich [Sun, 7 Dec 2014 10:08:10 +0000 (11:08 +0100)]
get_url_file_name: Fixed crash on OOM on debug build

This caused a null-pointer dereference which caused a few dozen
torture tests to fail.

10 years agosws.c: Fixed compilation warning
Steve Holme [Sat, 6 Dec 2014 22:18:42 +0000 (22:18 +0000)]
sws.c: Fixed compilation warning

sws.c:2191 warning: 'rc' may be used uninitialized in this function

10 years agoftp.c: Fixed compilation warnings when proxy support disabled
Steve Holme [Sat, 6 Dec 2014 22:14:50 +0000 (22:14 +0000)]
ftp.c: Fixed compilation warnings when proxy support disabled

ftp.c:1827 warning: unused parameter 'newhost'
ftp.c:1827 warning: unused parameter 'newport'

10 years agosmb: Fixed a problem with large file transfers
Steve Holme [Sat, 6 Dec 2014 21:44:00 +0000 (21:44 +0000)]
smb: Fixed a problem with large file transfers

Fixed an issue with the message size calculation where the raw bytes
from the buffer were interpreted as signed values rather than unsigned
values.

Reported-by: Gisle Vanem
Assisted-by: Bill Nagel
10 years agosmb: Moved the URL decoding into a separate function
Steve Holme [Sat, 6 Dec 2014 21:02:06 +0000 (21:02 +0000)]
smb: Moved the URL decoding into a separate function

10 years agosmb: Fixed URL encoded URLs not working
Steve Holme [Sat, 6 Dec 2014 20:46:54 +0000 (20:46 +0000)]
smb: Fixed URL encoded URLs not working

10 years agoMakefile.inc: Added our standard header and updated file formatting
Steve Holme [Sat, 6 Dec 2014 19:51:32 +0000 (19:51 +0000)]
Makefile.inc: Added our standard header and updated file formatting

10 years agoMakefile.inc: Updated file formatting
Steve Holme [Sat, 6 Dec 2014 19:44:29 +0000 (19:44 +0000)]
Makefile.inc: Updated file formatting

Aligned continuation character and used space as the separator
character as per other makefile files.

10 years agocurl_md4.h: Updated copyright year following recent edit
Steve Holme [Sat, 6 Dec 2014 19:36:27 +0000 (19:36 +0000)]
curl_md4.h: Updated copyright year following recent edit

...and minor layout adjustment.

10 years agoSMB: Fix big endian problems. Make it OS/400 aware.
Patrick Monnerat [Fri, 5 Dec 2014 17:37:35 +0000 (18:37 +0100)]
SMB: Fix big endian problems. Make it OS/400 aware.

10 years agoOS400: enable NTLM authentication
Patrick Monnerat [Fri, 5 Dec 2014 15:11:07 +0000 (16:11 +0100)]
OS400: enable NTLM authentication

10 years agomulti.c: Fixed compilation warning
Steve Holme [Fri, 5 Dec 2014 14:04:57 +0000 (14:04 +0000)]
multi.c: Fixed compilation warning

multi.c:2695: warning: declaration of `exp' shadows a global declaration

10 years agobuild: updated dependencies in makefiles.
Guenter Knauf [Fri, 5 Dec 2014 13:54:25 +0000 (14:54 +0100)]
build: updated dependencies in makefiles.

10 years agosasl: Corrected formatting of function descriptions
Steve Holme [Fri, 5 Dec 2014 07:48:16 +0000 (07:48 +0000)]
sasl: Corrected formatting of function descriptions

10 years agosasl_gssapi: Added missing function description
Steve Holme [Fri, 5 Dec 2014 00:36:27 +0000 (00:36 +0000)]
sasl_gssapi: Added missing function description

10 years agoRELEASE-NOTES: Provided better descriptions
Steve Holme [Fri, 5 Dec 2014 00:31:41 +0000 (00:31 +0000)]
RELEASE-NOTES: Provided better descriptions

As it is often difficult to choose the best description for a single
feature when it spans many commits, updated the descriptions for the
recent SMB/CIFS protocol and GSS-API additions.

10 years agosasl_sspi: Corrected some typos
Steve Holme [Fri, 5 Dec 2014 00:24:11 +0000 (00:24 +0000)]
sasl_sspi: Corrected some typos

10 years agosasl_sspi: Don't use hard coded sizes in Kerberos V5 security data
Steve Holme [Fri, 5 Dec 2014 00:22:34 +0000 (00:22 +0000)]
sasl_sspi: Don't use hard coded sizes in Kerberos V5 security data

Don't use a hard coded size of 4 for the security layer and buffer size
in Curl_sasl_create_gssapi_security_message(), instead, use sizeof() as
we have done in the sasl_gssapi module.

10 years agosasl_sspi: Free the Kerberos V5 challenge as soon as we're done with it
Steve Holme [Fri, 5 Dec 2014 00:18:13 +0000 (00:18 +0000)]
sasl_sspi: Free the Kerberos V5 challenge as soon as we're done with it

Reduced the amount of free's required for the decoded challenge message
in Curl_sasl_create_gssapi_security_message() as a result of coding it
differently in the sasl_gssapi module.

10 years agogssapi: Corrected typo in comments
Steve Holme [Fri, 5 Dec 2014 00:09:06 +0000 (00:09 +0000)]
gssapi: Corrected typo in comments

10 years agosasl_gssapi: Added body to Curl_sasl_create_gssapi_security_message()
Steve Holme [Fri, 5 Dec 2014 00:04:42 +0000 (00:04 +0000)]
sasl_gssapi: Added body to Curl_sasl_create_gssapi_security_message()

10 years agohttp_perhapsrewind: don't abort CONNECT requests
Stefan Bühler [Mon, 24 Nov 2014 09:42:01 +0000 (10:42 +0100)]
http_perhapsrewind: don't abort CONNECT requests

...they never have a body

10 years agoHTTP: Free (proxy)userpwd for NTLM/Negotiate after sending a request
Stefan Bühler [Mon, 24 Nov 2014 08:23:07 +0000 (09:23 +0100)]
HTTP: Free (proxy)userpwd for NTLM/Negotiate after sending a request

Sending NTLM/Negotiate header again after successful authentication
breaks the connection with certain Proxies and request types (POST to MS
Forefront).

10 years agoHTTP: don't abort connections with pending Negotiate authentication
Stefan Bühler [Mon, 24 Nov 2014 08:18:55 +0000 (09:18 +0100)]
HTTP: don't abort connections with pending Negotiate authentication

... similarly to how NTLM works as Negotiate is in fact often NTLM with
another name.

10 years agofix gdb libtool invocation path
Stefan Bühler [Thu, 27 Nov 2014 13:08:31 +0000 (14:08 +0100)]
fix gdb libtool invocation path

10 years agosasl_gssapi: Fixed missing include from commit d3cca934ee
Steve Holme [Thu, 4 Dec 2014 22:29:41 +0000 (22:29 +0000)]
sasl_gssapi: Fixed missing include from commit d3cca934ee

10 years agoexamples: remove sony.com from 10-at-a-time
Jay Satiro [Thu, 20 Nov 2014 17:46:49 +0000 (12:46 -0500)]
examples: remove sony.com from 10-at-a-time

Prior to this change the 10-at-a-time example showed CURLE_RECV_ERROR
for the sony website because it ends the connection when the request is
missing a user agent.

10 years agosasl_gssapi: Fixed missing decoding debug failure message
Steve Holme [Thu, 4 Dec 2014 22:19:24 +0000 (22:19 +0000)]
sasl_gssapi: Fixed missing decoding debug failure message

10 years agosasl_gssapi: Fixed honouring of no mutual authentication
Steve Holme [Thu, 4 Dec 2014 21:59:20 +0000 (21:59 +0000)]
sasl_gssapi: Fixed honouring of no mutual authentication

10 years agosasl_sspi: Added more Kerberos V5 decoding debug failure messages
Steve Holme [Thu, 4 Dec 2014 21:04:01 +0000 (21:04 +0000)]
sasl_sspi: Added more Kerberos V5 decoding debug failure messages

10 years agodocs: Fix FAILONERROR typos
Anthon Pang [Thu, 4 Dec 2014 19:51:06 +0000 (14:51 -0500)]
docs: Fix FAILONERROR typos

It returns error for >= 400 HTTP responses.

Bug: https://github.com/bagder/curl/pull/129

10 years agotool: fix CURLOPT_UNIX_SOCKET_PATH in --libcurl output
Peter Wu [Thu, 4 Dec 2014 19:01:41 +0000 (11:01 -0800)]
tool: fix CURLOPT_UNIX_SOCKET_PATH in --libcurl output

Mark CURLOPT_UNIX_SOCKET_PATH as string to ensure that it ends up as
option in the file generated by --libcurl.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agoopts: fix CURLOPT_UNIX_SOCKET_PATH formatting
Peter Wu [Thu, 4 Dec 2014 22:46:51 +0000 (14:46 -0800)]
opts: fix CURLOPT_UNIX_SOCKET_PATH formatting

Add .nf and .fi such that the code gets wrapped in a pre on the web.
Fixed grammar, fixed formatting of the "See also" items.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agoOS400: enable Unix sockets.
Patrick Monnerat [Thu, 4 Dec 2014 14:34:03 +0000 (15:34 +0100)]
OS400: enable Unix sockets.

10 years agoRELEASE-NOTES: synced with b216427e73b5e9
Daniel Stenberg [Thu, 4 Dec 2014 05:15:41 +0000 (21:15 -0800)]
RELEASE-NOTES: synced with b216427e73b5e9

10 years agoopts: added CURLOPT_UNIX_SOCKET_PATH to Makefile.am
Daniel Stenberg [Thu, 4 Dec 2014 02:42:24 +0000 (18:42 -0800)]
opts: added CURLOPT_UNIX_SOCKET_PATH to Makefile.am

10 years agoupdateconninfo: clear destination struct before getsockname()
Daniel Stenberg [Thu, 4 Dec 2014 01:46:15 +0000 (02:46 +0100)]
updateconninfo: clear destination struct before getsockname()

Otherwise we may read uninitialized bytes later in the unix-domain
sockets case.

10 years agocurl.1: added --unix-socket
Daniel Stenberg [Wed, 3 Dec 2014 01:35:12 +0000 (02:35 +0100)]
curl.1: added --unix-socket

10 years agotool: add --unix-socket option
Peter Wu [Thu, 27 Nov 2014 22:59:26 +0000 (23:59 +0100)]
tool: add --unix-socket option

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agolibcurl: add UNIX domain sockets support
Peter Wu [Thu, 27 Nov 2014 22:59:25 +0000 (23:59 +0100)]
libcurl: add UNIX domain sockets support

The ability to do HTTP requests over a UNIX domain socket has been
requested before, in Apr 2008 [0][1] and Sep 2010 [2]. While a
discussion happened, no patch seems to get through. I decided to give it
a go since I need to test a nginx HTTP server which listens on a UNIX
domain socket.

One patch [3] seems to make it possible to use the
CURLOPT_OPENSOCKETFUNCTION function to gain a UNIX domain socket.
Another person wrote a Go program which can do HTTP over a UNIX socket
for Docker[4] which uses a special URL scheme (though the name contains
cURL, it has no relation to the cURL library).

This patch considers support for UNIX domain sockets at the same level
as HTTP proxies / IPv6, it acts as an intermediate socket provider and
not as a separate protocol. Since this feature affects network
operations, a new feature flag was added ("unix-sockets") with a
corresponding CURL_VERSION_UNIX_SOCKETS macro.

A new CURLOPT_UNIX_SOCKET_PATH option is added and documented. This
option enables UNIX domain sockets support for all requests on the
handle (replacing IP sockets and skipping proxies).

A new configure option (--enable-unix-sockets) and CMake option
(ENABLE_UNIX_SOCKETS) can disable this optional feature. Note that I
deliberately did not mark this feature as advanced, this is a
feature/component that should easily be available.

 [0]: http://curl.haxx.se/mail/lib-2008-04/0279.html
 [1]: http://daniel.haxx.se/blog/2008/04/14/http-over-unix-domain-sockets/
 [2]: http://sourceforge.net/p/curl/feature-requests/53/
 [3]: http://curl.haxx.se/mail/lib-2008-04/0361.html
 [4]: https://github.com/Soulou/curl-unix-socket

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agotests: add two HTTP over UNIX socket tests
Peter Wu [Thu, 27 Nov 2014 22:59:24 +0000 (23:59 +0100)]
tests: add two HTTP over UNIX socket tests

test1435: a simple test that checks whether a HTTP request can be
performed over the UNIX socket. The hostname/port are interpreted
by sws and should be ignored by cURL.

test1436: test for the ability to do two requests to the same host,
interleaved with one to a different hostname.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agotests: add HTTP UNIX socket server testing support
Peter Wu [Thu, 27 Nov 2014 22:59:23 +0000 (23:59 +0100)]
tests: add HTTP UNIX socket server testing support

The variable `$ipvnum` can now contain "unix" besides the integers 4
and 6 since the variable. Functions which receive this parameter
have their `$port` parameter renamed to `$port_or_path` to support a
path to the UNIX domain socket (as a "port" is only meaningful for TCP).

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agosws: try to remove socket and retry bind
Peter Wu [Thu, 27 Nov 2014 22:59:22 +0000 (23:59 +0100)]
sws: try to remove socket and retry bind

If sws is killed it might leave a stale socket file on the filesystem
which would cause an EADDRINUSE error. After this patch, it is checked
whether the socket is really stale and if so, the socket file gets
removed and another bind is executed.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agosws: add UNIX domain socket support
Peter Wu [Wed, 3 Dec 2014 01:20:00 +0000 (02:20 +0100)]
sws: add UNIX domain socket support

This extends sws with a --unix-socket option which causes the port to
be ignored (as the server now listens on the path specified by
--unix-socket). This feature will be available in the following patch
that enables checking for UNIX domain socket support.

Proxy support (CONNECT) is not considered nor tested. It does not make
sense anyway, first connecting through a TCP proxy, then let that TCP
proxy connect to a UNIX socket.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agosws: restrict TCP_NODELAY to IP sockets
Peter Wu [Thu, 27 Nov 2014 22:59:20 +0000 (23:59 +0100)]
sws: restrict TCP_NODELAY to IP sockets

TCP_NODELAY does not make sense for Unix sockets, so enable it only if
the socket is using IP.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
10 years agocurl.1: fix trivial typo
Dave Reisner [Wed, 3 Dec 2014 19:56:34 +0000 (14:56 -0500)]
curl.1: fix trivial typo

10 years agosasl_gssapi: Added body to Curl_sasl_create_gssapi_user_message()
Steve Holme [Wed, 3 Dec 2014 19:51:32 +0000 (19:51 +0000)]
sasl_gssapi: Added body to Curl_sasl_create_gssapi_user_message()

10 years agosasl_gssapi: Added body to Curl_sasl_gssapi_cleanup()
Steve Holme [Wed, 3 Dec 2014 18:57:48 +0000 (18:57 +0000)]
sasl_gssapi: Added body to Curl_sasl_gssapi_cleanup()

10 years agosasl_gssapi: Added Curl_sasl_build_gssapi_spn() function
Steve Holme [Wed, 3 Dec 2014 18:38:43 +0000 (18:38 +0000)]
sasl_gssapi: Added Curl_sasl_build_gssapi_spn() function

Added helper function for returning a GSS-API compatible SPN.

10 years agoNSS: enable the CAPATH option
Daniel Stenberg [Wed, 3 Dec 2014 14:20:40 +0000 (06:20 -0800)]
NSS: enable the CAPATH option

Bug: http://curl.haxx.se/bug/view.cgi?id=1457
Patch-by: Tomasz Kojm