From 96c3b1a1bb52f4f25c3c3e6284e0d5bc23145ef0 Mon Sep 17 00:00:00 2001 From: Bill Nagel Date: Sun, 30 Nov 2014 16:51:26 -0500 Subject: [PATCH] docs: Updated for the SMB protocol This patch updates the documentation for the SMB/CIFS protocol. --- docs/FAQ | 2 +- docs/FEATURES | 6 ++++++ docs/INTERNALS | 4 ++++ docs/MANUAL | 9 +++++++++ docs/curl.1 | 6 +++--- docs/libcurl/opts/CURLOPT_PROTOCOLS.3 | 1 + docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 | 3 ++- docs/libcurl/opts/CURLOPT_URL.3 | 16 ++++++++++++++++ 8 files changed, 42 insertions(+), 5 deletions(-) diff --git a/docs/FAQ b/docs/FAQ index 98a5ee229..c505fff2d 100644 --- a/docs/FAQ +++ b/docs/FAQ @@ -134,7 +134,7 @@ FAQ A free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, - POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP. + POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, Kerberos, SPNEGO, HTTP form based upload, proxies, cookies, user+password diff --git a/docs/FEATURES b/docs/FEATURES index 802292c55..a67400242 100644 --- a/docs/FEATURES +++ b/docs/FEATURES @@ -127,6 +127,12 @@ FILE - upload - resume +SMB + - SMBv1 over TCP and SSL + - download + - upload + - authentication with NTLMv1 + SMTP - authentication: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9) and Kerberos 5 (*4) diff --git a/docs/INTERNALS b/docs/INTERNALS index 8654c45f9..b3559ba68 100644 --- a/docs/INTERNALS +++ b/docs/INTERNALS @@ -264,6 +264,10 @@ Library The file:// protocol is dealt with in lib/file.c. + SMB + + The smb:// protocol is dealt with in lib/smb.c. + LDAP Everything LDAP is in lib/ldap.c and lib/openldap.c diff --git a/docs/MANUAL b/docs/MANUAL index 18fecf6c5..113df2016 100644 --- a/docs/MANUAL +++ b/docs/MANUAL @@ -59,6 +59,10 @@ SIMPLE USAGE curl "http://[2001:1890:1112:1::20]/" + Get a file from an SMB server: + + curl -u "domain\username:passwd" smb://server.example.com/share/file.txt + DOWNLOAD TO A FILE Get a web page and store in a local file with a specific name: @@ -228,6 +232,11 @@ UPLOADING curl --proxytunnel -x proxy:port -T localfile ftp.upload.com +SMB / SMBS + + curl -T file.txt -u "domain\username:passwd" + smb://server.example.com/share/ + HTTP Upload all data on stdin to a specified HTTP site: diff --git a/docs/curl.1 b/docs/curl.1 index 0cec4103a..20276a9d3 100644 --- a/docs/curl.1 +++ b/docs/curl.1 @@ -20,7 +20,7 @@ .\" * .\" ************************************************************************** .\" -.TH curl 1 "2 Aug 2014" "Curl 7.38.0" "Curl Manual" +.TH curl 1 "30 Nov 2014" "Curl 7.40.0" "Curl Manual" .SH NAME curl \- transfer a URL .SH SYNOPSIS @@ -30,8 +30,8 @@ curl \- transfer a URL .B curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, -LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP). The -command is designed to work without user interaction. +LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET +and TFTP). The command is designed to work without user interaction. curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 index c5bbc28eb..958eeeb9d 100644 --- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 +++ b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 @@ -59,6 +59,7 @@ CURLPROTO_RTMPTS CURLPROTO_RTSP CURLPROTO_SCP CURLPROTO_SFTP +CURLPROTO_SMB CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 index b7cbcb296..fbec9f5c7 100644 --- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 +++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 @@ -59,13 +59,14 @@ CURLPROTO_RTMPTS CURLPROTO_RTSP CURLPROTO_SCP CURLPROTO_SFTP +CURLPROTO_SMB CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP .fi .SH DEFAULT -All protocols except for FILE and SCP +All protocols except for FILE, SCP and SMB. .SH PROTOCOLS All .SH EXAMPLE diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3 index 16b7d523f..bf192282c 100644 --- a/docs/libcurl/opts/CURLOPT_URL.3 +++ b/docs/libcurl/opts/CURLOPT_URL.3 @@ -80,6 +80,8 @@ http://user:password@www.example.com ftp://user:password@ftp.example.com +smb://domain%2fuser:password@server.example.com + imap://user:password;options@mail.example.com pop3://user:password;options@mail.example.com @@ -236,6 +238,20 @@ user's home directory sftp://ssh.example.com/~/Documents/ - This requests a directory listing of the Documents directory under the user's home directory +.IP SMB +The path part of a SMB request specifies the file to retrieve and from what +share and directory or the share to upload to and as such, may not be omitted. +If the user name is not embedded in the URL, it can be set with the +\fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. If the user name +is embedded in the URL then it must contain the domain name and as such, the +backslash must be URL encoded as %2f. + +smb://server.example.com/files/issue - This specifies the file "issue" located +in the root of the "files" share + +smb://server.example.com/files/ -T issue - This specifies the file "issue" will +be uploaded to the root of the "files" share. + .IP LDAP The path part of a LDAP request can be used to specify the: Distinguished Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field