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

    Steve French
     
  • 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

    Steve French
     

06 Aug, 2014

1 commit


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

    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.aspx

    Reviewed-by: Pavel Shilovsky
    Signed-off-by: Steve French

    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

    Pavel Shilovsky
     

03 Nov, 2013

1 commit


28 Oct, 2013

2 commits


10 Sep, 2013

1 commit


09 Sep, 2013

1 commit


11 Jul, 2013

3 commits


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

    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

    Steve French
     

25 Sep, 2012

21 commits


28 Jul, 2012

2 commits


25 Jul, 2012

1 commit