17 Oct, 2014
2 commits
-
Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks
via the "Minshall/French" symlink format already used for cifs
mounts when mfsymlinks mount option is used (and also used by Apple).
http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks
This second patch adds support to query them (recognize them as symlinks
and read them). Third version of patch makes minor corrections
to error handling.Signed-off-by: Steve French
Reviewed-by: Stefan Metzmacher -
Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks
via the "Minshall/French" symlink format already used for cifs
mounts when mfsymlinks mount option is used (and also used by Apple).
http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks
This first patch adds support to create them. The next patch will
add support for recognizing them and reading them. Although CIFS/SMB3
have other types of symlinks, in the many use cases they aren't
practical (e.g. either require cifs only mounts with unix extensions
to Samba, or require the user to be Administrator to Windows for SMB3).
This also helps enable running additional xfstests over SMB3 (since some
xfstests directly or indirectly require symlink support).Signed-off-by: Steve French
CC: Stefan Metzmacher
06 Aug, 2014
1 commit
-
Adds setinfo worker function for SMB2/SMB3 support of SET_ALLOCATION_INFORMATION
Signed-off-by: Steve French
Reviewed-by: Pavel Shilovsky
08 Feb, 2014
1 commit
-
In the event that a send fails in an uncached write, or we end up
needing to reissue it (-EAGAIN case), we'll kfree the wdata but
the pages currently leak.Fix this by adding a new kref release routine for uncached writedata
that releases the pages, and have the uncached codepaths use that.[original patch by Jeff modified to fix minor formatting problems]
Signed-off-by: Jeff Layton
Reviewed-by: Pavel Shilovsky
Signed-off-by: Steve French
20 Nov, 2013
1 commit
-
When we are running SMB3 or SMB3.02 connections which are signed
we need to validate the protocol negotiation information,
to ensure that the negotiate protocol response was not tampered with.Add the missing FSCTL which is sent at mount time (immediately after
the SMB3 Tree Connect) to validate that the capabilities match
what we think the server sent."Secure dialect negotiation is introduced in SMB3 to protect against
man-in-the-middle attempt to downgrade dialect negotiation.
The idea is to prevent an eavesdropper from downgrading the initially
negotiated dialect and capabilities between the client and the server."For more explanation see 2.2.31.4 of MS-SMB2 or
http://blogs.msdn.com/b/openspecification/archive/2012/06/28/smb3-secure-dialect-negotiation.aspxReviewed-by: Pavel Shilovsky
Signed-off-by: Steve French
12 Nov, 2013
1 commit
-
Now we treat any reparse point as a symbolic link and map it to a Unix
one that is not true in a common case due to many reparse point types
supported by SMB servers.Distinguish reparse point types into two groups:
1) that can be accessed directly through a reparse point
(junctions, deduplicated files, NFS symlinks);
2) that need to be processed manually (Windows symbolic links, DFS);and map only Windows symbolic links to Unix ones.
Cc:
Acked-by: Jeff Layton
Reported-and-tested-by: Joao Correia
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
03 Nov, 2013
1 commit
-
Currently SMB2 and SMB3 mounts do not query the device information at mount time
from the server as is done for cifs. These can be useful for debugging.
This is a minor patch, that extends the previous one (which added ability to
query file system attributes at mount time - this returns the device
characteristics - also via in /proc/fs/cifs/DebugData)Signed-off-by: Steve French
28 Oct, 2013
2 commits
-
Currently SMB2 and SMB3 mounts do not query the file system attributes
from the server at mount time as is done for cifs. These can be useful for debugging.Signed-off-by: Steve French
-
Allow cifs/smb2/smb3 to return whether or not a file is compressed
via lsattr, and allow SMB2/SMB3 to set the per-file compression
flag ("chattr +c filename" on an smb3 mount).Windows users often set the compressed flag (it can be
done from the desktop and file manager). David Disseldorp
has patches to Samba server to support this (at least on btrfs)
which are complementary to thisSigned-off-by: Steve French
10 Sep, 2013
1 commit
-
and separate smb20_operations struct.
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
09 Sep, 2013
1 commit
-
that allows to access files through symlink created on a server.
Acked-by: Jeff Layton
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
11 Jul, 2013
3 commits
-
to prepare it for further durable handle reconnect processing.
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steven French -
and pass it to the open() call.
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steven French -
and eliminated unused file_attribute parms of SMB2_open.
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steven French
27 Jun, 2013
1 commit
-
This worker function is needed to send SMB2 fsctl
(and ioctl) requests including:validating negotiation info (secure negotiate)
querying the servers network interfaces
copy offload (refcopy)Followon patches for the above three will use this.
This patch also does general validation of the response.In the future, as David Disseldorp notes, for the copychunk ioctl
case, we will want to enhance the response processing to allow
returning the chunk request limits to the caller (even
though the server returns an error, in that case we would
return data that the caller could use - see 2.2.32.1).See MS-SMB2 Section 2.2.31 for more details on format of fsctl.
Acked-by: Pavel Shilovsky
Signed-off-by: Steve French
10 Dec, 2012
1 commit
-
Restructure code to make SMB2 vs. SMB3 signing a protocol
specific op. SMB3 signing (AES_CMAC) is not enabled yet,
but this restructuring at least makes sure we don't send
an smb2 signature on an smb3 signed connection. A followon
patch will add AES_CMAC and enable smb3 signing.Signed-off-by: Steve French
Acked-by: Jeff Layton
25 Sep, 2012
21 commits
-
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
-
For now, none of the callers populate rq_pages. That will be done for
writes in a later patch. While we're at it, change the prototype of
setup_async_request not to need a return pointer argument. Just
return the pointer to the mid_q_entry or an ERR_PTR.Reviewed-by: Pavel Shilovsky
Signed-off-by: Jeff Layton
Signed-off-by: Steve French -
Signed-off-by: Jeff Layton
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Use hmac-sha256 and rather than hmac-md5 that is used for CIFS/SMB.
Signature field in SMB2 header is 16 bytes instead of 8 bytes.
Automatically enable signing by client when requested by the server
when signing ability is available to the client.Signed-off-by: Shirish Pargaonkar
Signed-off-by: Sachin Prabhu
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
28 Jul, 2012
2 commits
-
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
25 Jul, 2012
1 commit
-
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French