SMB3 issues with smbclient

Jeremy Allison jra at samba.org
Wed Dec 21 22:01:43 UTC 2016


On Thu, Dec 22, 2016 at 06:51:40AM +1030, Paul Smedley wrote:
> Hi Jeremy!
> 
> On 22/12/16 03:54, Jeremy Allison wrote:
> >On Wed, Dec 21, 2016 at 06:56:23PM +1030, Paul Smedley wrote:
> >>Hi Again Metze!
> >>
> >>On 21/12/16 07:10, Paul Smedley wrote:
> >><snip>
> >>
> >>>>What was the problem in your case? Did you send the value "1" over
> >>>>the net?
> >>>
> >>>In this case, a particular application (MED editor) when saving a file
> >>>on a SMB2+ share, creates a 0 byte file. Same application and plugin
> >>>over SMB1 works fine.
> >>>
> >>>I'll comb back through the logs and potentially add some more logging
> >>>and see what I can fine.
> >>>
> >>>I'll also test against a Win2k server, just to rule out the issue being
> >>>with Samba Server.
> >>OK some updates.
> >>
> >>Issues happens with both Samba Server 4.4.5 & Win2k08.
> >>
> >>I had a closer look at the logs. cli_ftruncate() is failing with SMB2+.
> >>
> >>Part of the Netdrive (kinda like Fuse but for OS/2) api is a command to set
> >>the file size.
> >>
> >>The implementation of this calls:
> >>	if (!NT_STATUS_IS_OK(cli_ftruncate(cli, file->fd, newsize)))
> >>file->fd is the fnum of the file handle, newsize is the size.
> >>
> >>This works fine with SMB1. With SMB3, cli_errno(cli) returns an errno of 22.
> >>
> >>Digging in more now....
> >
> >Good catch - looks like we missed converting cli_ftruncate() to
> >call SMB2+ under the covers.
> >
> >Inside cli_getatr() for example we have:
> >
> >        if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
> >                return cli_smb2_getatr(cli,
> >                                        fname,
> >                                        attr,
> >                                        size,
> >                                        write_time);
> >        }
> >
> >We need the same adding for cli_ftruncate() and a callout
> >to a cli_smb2_ftruncate() which needs adding inside
> >source3/libsmb/cli_smb2_fnum.c.
> >
> >Can you log a bug on this and I'll see if I can quickly
> >code this up over the holidays ?
> >
> >As this is exposed via libsmbclient we need to fix this
> >asap as the Gnome or KDE vfs clients may trip over this.
> 
> https://bugzilla.samba.org/show_bug.cgi?id=12479
> 
> Thanks for confirming :)

Can you try this (quick and untested :-) patch ? Compiles
but haven't tested yet (gotta go cycling with my son :-).

Cheers,

	Jeremy.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-s3-libsmb-Add-cli_smb2_ftruncate-plumb-into-cli_ftru.patch
Type: text/x-diff
Size: 3525 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20161221/bba6b2e5/0001-s3-libsmb-Add-cli_smb2_ftruncate-plumb-into-cli_ftru.diff>


More information about the samba-technical mailing list