aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-12-04updateconninfo: clear destination struct before getsockname()Daniel Stenberg
Otherwise we may read uninitialized bytes later in the unix-domain sockets case.
2014-12-04libcurl: add UNIX domain sockets supportPeter Wu
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>
2014-12-03sasl_gssapi: Added body to Curl_sasl_create_gssapi_user_message()Steve Holme
2014-12-03sasl_gssapi: Added body to Curl_sasl_gssapi_cleanup()Steve Holme
2014-12-03sasl_gssapi: Added Curl_sasl_build_gssapi_spn() functionSteve Holme
Added helper function for returning a GSS-API compatible SPN.
2014-12-03NSS: enable the CAPATH optionDaniel Stenberg
Bug: http://curl.haxx.se/bug/view.cgi?id=1457 Patch-by: Tomasz Kojm
2014-12-03sasl_gssapi: Enable USE_KERBEROS5 for GSS-API based buildsSteve Holme
2014-12-03sasl_gssapi: Added GSS-API based Kerberos V5 variablesSteve Holme
2014-12-02sasl_gssapi: Made log_gss_error() a common GSS-API functionSteve Holme
Made log_gss_error() a common function so that it can be used in both the http_negotiate code as well as the curl_sasl_gssapi code.
2014-12-02sasl_gssapi: Introduced GSS-API based SASL moduleSteve Holme
Added the initial version of curl_sasl_gssapi.c and updated the project files in preparation for adding GSS-API based Kerberos V5 support.
2014-12-02smb: Don't try to connect with empty credentialsSteve Holme
On some platforms curl would crash if no credentials were used. As such added detection of such a use case to prevent this from happening. Reported-by: Gisle Vanem
2014-12-02smb.c: Coding policing of pointer usageSteve Holme
2014-12-01build: in Makefile.m32 simplified autodetection.Guenter Knauf
2014-11-30lib/connect: restrict IP/TCP options to said socketsPeter Wu
This patch prepares for adding UNIX domain sockets support. TCP_NODELAY and TCP_KEEPALIVE are specific to TCP/IP sockets, so do not apply these to other socket types. bindlocal only works for IP sockets (independent of TCP/UDP), so filter that out too for other types. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-30smb.c: use size_t as input argument types for msg sizesDaniel Stenberg
This fixes warnings about conversions to int
2014-11-30smb.c: Fixed compilation warningsSteve Holme
smb.c:398: warning: comparison of integers of different signs: 'ssize_t' (aka 'long') and 'unsigned long' smb.c:443: warning: comparison of integers of different signs: 'ssize_t' (aka 'long') and 'unsigned long'
2014-11-30libcurl: Exclude SMB from the protocol redirectSteve Holme
As local files could be accessed through \\localhost\c$.
2014-11-30libcurl: Enable support for the SMB protocolBill Nagel
This patch enables SMB/CIFS support in libcurl.
2014-11-30smb.c: Fixed compilation warningsSteve Holme
smb.c:322: warning: conversion to 'short unsigned int' from 'unsigned int' may alter its value smb.c:323: warning: conversion to 'short unsigned int' from 'unsigned int' may alter its value smb.c:482: warning: conversion to 'short unsigned int' from 'int' may alter its value smb.c:521: warning: conversion to 'unsigned int' from 'curl_off_t' may alter its value smb.c:549: warning: conversion to 'unsigned int' from 'curl_off_t' may alter its value smb.c:550: warning: conversion to 'short unsigned int' from 'int' may alter its value
2014-11-30smb.c: Renamed SMB command message variables to avoid compiler warningsSteve Holme
smb.c:489: warning: declaration of 'close' shadows a global declaration smb.c:511: warning: declaration of 'read' shadows a global declaration smb.c:528: warning: declaration of 'write' shadows a global declaration
2014-11-30smb.c: Fixed compilation warningsSteve Holme
smb.c:212: warning: unused parameter 'done' smb.c:380: warning: ISO C does not allow extra ';' outside of a function smb.c:812: warning: unused parameter 'premature' smb.c:822: warning: unused parameter 'dead'
2014-11-30smb.c: Fixed compilation warningsSteve Holme
smb.c:311: warning: conversion from 'unsigned __int64' to 'u_short', possible loss of data smb.c:425: warning: conversion from '__int64' to 'unsigned short', possible loss of data smb.c:452: warning: conversion from '__int64' to 'unsigned short', possible loss of data
2014-11-30smb.c: Fixed compilation warningsSteve Holme
smb.c:162: error: comma at end of enumerator list smb.c:469: warning: conversion from 'size_t' to 'unsigned short', possible loss of data smb.c:517: warning: conversion from 'curl_off_t' to 'unsigned int', possible loss of data smb.c:545: warning: conversion from 'curl_off_t' to 'unsigned int', possible loss of data
2014-11-30smb: Added initial SMB functionalityBill Nagel
Initial implementation of the SMB/CIFS protocol.
2014-11-30smb: Added SMB handler interfacesBill Nagel
Added the SMB and SMBS handler interface structures and associated functions required for SMB/CIFS operation.
2014-11-30transfer: Code style policingSteve Holme
Prefer ! rather than NULL in if statements, added comments and updated function spacing, argument spacing and line spacing to be more readble.
2014-11-30transfer: Fixed existing scratch buffer being checked for NULL twiceSteve Holme
If the scratch buffer already existed when the CRLF conversion was performed then the buffer pointer would be checked twice for NULL. This second check is only necessary if the call to malloc() was performed by the first check.
2014-11-30smtp: Fixed dot stuffing being performed when no new data readSteve Holme
Whilst I had moved the dot stuffing code from being performed before CRLF conversion takes place to after it, in commit 4bd860a001, I had moved it outside the 'when something read' block of code when meant it could perform the dot stuffing twice on partial send if nread happened to contain the right values. It also meant the function could potentially read past the end of buffer. This was highlighted by the following warning: warning: `nread' might be used uninitialized in this function
2014-11-29smb.h: fixed picky compiler warningDaniel Stenberg
smb.h:30:16: error: comma at end of enumerator list [-Werror=pedantic]
2014-11-29smb: Added SMB protocol and port definitionsBill Nagel
Added the necessary protocol and port definitions in order to support SMB/CIFS.
2014-11-29smb: Added internal SMB definitions and structuresBill Nagel
Added the internal definitions and structures necessary for SMB/CIFS support.
2014-11-29smb: Added SMB connection structureBill Nagel
Added the connection structure that will be required in urldata.h for SMB/CIFS based connections.
2014-11-29smb: Added initial source files for SMBBill Nagel
Added the initial source files and updated the relevant project files in order to support SMB/CIFS.
2014-11-27http.c: Fixed compilation warnings from features being disabledSteve Holme
warning: unused variable 'data' warning: variable 'addcookies' set but not used ...and some very minor coding style policing.
2014-11-26smtp: Fixed const'ness of nread parameter in Curl_smtp_escape_eob()Steve Holme
...and some comment typos!
2014-11-26smtp: Added support for the conversion of Unix newlines during mail sendSteve Holme
Added support for the automatic conversion of Unix newlines to CRLF during mail uploads. Feature: http://curl.haxx.se/bug/view.cgi?id=1456
2014-11-25select.c: fix compilation for VxWorksDaniel Stenberg
Reported-by: Brian Bug: http://curl.haxx.se/bug/view.cgi?id=1455
2014-11-24SSL: Add PEM format support for public key pinningmoparisthebest
2014-11-23multi.c: Fixed compilation warnings when no verbose string supportSteve Holme
warning: variable 'connection_id' set but not used warning: unused parameter 'lineno'
2014-11-23sasl: Tidied up some parameter commentsSteve Holme
2014-11-23sasl: Reduced the need for two sets of NTLM functionsSteve Holme
2014-11-23ntlm: Moved NSS initialisation to base decode functionSteve Holme
2014-11-23http_ntlm: Fixed additional NSS initialisation call when decoding type-2Steve Holme
After commit 48d19acb7c the HTTP code would call Curl_nss_force_init() twice when decoding a NTLM type-2 message, once directly and the other through the call to Curl_sasl_decode_ntlm_type2_message().
2014-11-23ntlm: Fixed static'ness of local decode functionSteve Holme
2014-11-23ntlm: Corrected some parameter names and commentsSteve Holme
2014-11-20http.c: log if it notices HTTP 1.1 after a upgrade to http2Daniel Stenberg
2014-11-20http: Disable pipelining for HTTP/2 and upgraded connectionsTatsuhiro Tsujikawa
This commit disables pipelining for HTTP/2 or upgraded connections. For HTTP/2, we do not support multiplexing. In general, requests cannot be pipelined in an upgraded connection, since it is now different protocol.
2014-11-19conncache: Fixed specifiers in infof() for long and size_t variablesSteve Holme
2014-11-19multi: inform about closed sockets before they are closedJon Spencer
When the connection code decides to close a socket it informs the multi system via the Curl_multi_closed function. The multi system may, in turn, invoke the CURLMOPT_SOCKETFUNCTION function with CURL_POLL_REMOVE. This happens after the socket has already been closed. Reorder the code so that CURL_POLL_REMOVE is called before the socket is closed.
2014-11-19build: in Makefile.m32 moved target autodetection.Guenter Knauf
Moved target autodetection block after defining CC macro.