- Dec 04, 2014
-
-
Daniel Stenberg authored
-
Peter Wu authored
Signed-off-by: Peter Wu <peter@lekensteyn.nl>
-
Peter Wu authored
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>
-
Peter Wu authored
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>
-
Peter Wu authored
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>
-
Peter Wu authored
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>
-
Peter Wu authored
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>
-
Peter Wu authored
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>
-
- Dec 03, 2014
-
-
Dave Reisner authored
-
Steve Holme authored
-
Steve Holme authored
-
Steve Holme authored
Added helper function for returning a GSS-API compatible SPN.
-
Daniel Stenberg authored
Bug: http://curl.haxx.se/bug/view.cgi?id=1457 Patch-by: Tomasz Kojm
-
Steve Holme authored
-
Steve Holme authored
-
Steve Holme authored
sws.c:69: warning: comma at end of enumerator list
-
- Dec 02, 2014
-
-
Steve Holme authored
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.
-
Steve Holme authored
Added the initial version of curl_sasl_gssapi.c and updated the project files in preparation for adding GSS-API based Kerberos V5 support.
-
Steve Holme authored
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
-
Steve Holme authored
-
Steve Holme authored
-
- Dec 01, 2014
-
-
Guenter Knauf authored
-
- Nov 30, 2014
-
-
Peter Wu authored
Instead of depending the socket domain type on use_ipv6, specify the domain type (AF_INET / AF_INET6) as variable. An enum is used here with switch to avoid compiler warnings in connect_to, complaining that rc is possibly undefined (which is not possible as socket_domain is always set). Besides abstracting the socket type, make the debugging messages be independent on IP (introduce location_str which points to "port XXXXX"). Rename "ipv_inuse" to "socket_type" and tighten the scope (main). Signed-off-by: Peter Wu <peter@lekensteyn.nl>
-
Peter Wu authored
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>
-
Daniel Stenberg authored
This fixes warnings about conversions to int
-
Steve Holme authored
-
Bill Nagel authored
This patch updates the documentation for the SMB/CIFS protocol.
-
Steve Holme authored
As local files could be accessed through \\localhost\c$.
-
Bill Nagel authored
This patch enables SMB/CIFS support in the curl command-line tool.
-
Steve Holme authored
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'
-
Steve Holme authored
As local files could be accessed through \\localhost\c$.
-
Bill Nagel authored
This patch enables SMB/CIFS support in libcurl.
-
Steve Holme authored
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
-
Steve Holme authored
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
-
Steve Holme authored
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'
-
Steve Holme authored
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
-
Steve Holme authored
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
-
Bill Nagel authored
Initial implementation of the SMB/CIFS protocol.
-
Bill Nagel authored
Added the SMB and SMBS handler interface structures and associated functions required for SMB/CIFS operation.
-
Steve Holme authored
Prefer ! rather than NULL in if statements, added comments and updated function spacing, argument spacing and line spacing to be more readble.
-