[pve-devel] [PATCH] Use enums for smbvers to prevent incorrect input
Wolfgang Link
w.link at proxmox.com
Wed Jun 6 16:01:21 CEST 2018
> Thomas Lamprecht <t.lamprecht at proxmox.com> hat am 6. Juni 2018 um 15:51 geschrieben:
>
>
> On 6/6/18 1:23 PM, Wolfgang Link wrote:
> > ---
> > PVE/Storage/CIFSPlugin.pm | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/PVE/Storage/CIFSPlugin.pm b/PVE/Storage/CIFSPlugin.pm
> > index cb7c844..2124c87 100644
> > --- a/PVE/Storage/CIFSPlugin.pm
> > +++ b/PVE/Storage/CIFSPlugin.pm
> > @@ -104,8 +104,9 @@ sub properties {
> > maxLength => 256,
> > },
> > smbversion => {
> > - description => "",
> > + description => "SMB protokoll version",
>
> s/protokoll/protocol/
>
> > type => 'string',
> > + enum => ['2.0', '2.1', '3.0'],
>
> We use the following code to tell smbclient about what version to use with
> the -m option.
>
> my $cmd = ['/usr/bin/smbclient', $servicename, '-d', '0', '-m'];
> push @$cmd, $scfg->{smbversion} ? "smb".int($scfg->{smbversion}) : 'smb3';
>
> Thus an user could (validly) used '2', '3', '3.0.2', '3.1.1' for this and
> it'd have worked, but after this patch the user gets an verification error.
> While maybe to to probable it's still not ideal...
> Should we justThus an user could hope nobody did that?
All options besides '3.0', '2.1', '2.0' and '1.0' will end in an mount error
Only '1.0' is a working option what we would remove.
PVE/Storage/CIFSPlugin.pm
@@ 70 @@
push @$cmd, '-o', defined($smbver) ? "vers=$smbver" : "vers=3.0";
man mount.cifs under vers=
vers=
SMB protocol version. Allowed values are:
· 1.0 - The classic CIFS/SMBv1 protocol. This is the default.
· 2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly
different dialect (2.000) that is not supported.
· 2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.
· 3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.
Note too that while this option governs the protocol version used, not all features of each version are available.
>
> > optional => 1,
> > },
> > };
> >
>
More information about the pve-devel
mailing list