[cifs-protocol] [REG:117102016529426] SMB2 File Rename

Sreekanth Nadendla srenaden at microsoft.com
Wed Oct 25 19:18:08 UTC 2017


Hello Andreas, in the sample traces you've sent us, I can see the setInfo request with SMB2_FILE_RENAME_INFO for SMB2 case. However I don't see similar rename structure from your first trace rename_nt1.  Let me know if I'm missing something. 

On windows OS, rename command does not allow you to specify a new drive (device) or *path* for the destination file. Before I dig in further with "move" command in my investigation, I would like to see from your traces exactly how the request was sent to server in the case of SMB v1.  Also if you can, please confirm if the same Windows 2012 server is used when your client was using SMB v3.


Regards,
Sreekanth Nadendla
Microsoft Windows Open Specifications

-----Original Message-----
From: Sreekanth Nadendla 
Sent: Friday, October 20, 2017 11:16 AM
To: Andreas Schneider <asn at samba.org>
Cc: cifs-protocol at lists.samba.org; MSSolve Case Email <casemail at microsoft.com>
Subject: [REG:117102016529426] SMB2 File Rename

Hello Andreas, I will be assisting you with your issue. I am currently researching the problem and will provide you with an update soon. Thank you for your patience.

Regards,
Sreekanth Nadendla
Microsoft Windows Open Specifications

-----Original Message-----
From: Andreas Schneider [mailto:asn at samba.org]
Sent: Friday, October 20, 2017 6:21 AM
To: Interoperability Documentation Help <dochelp at microsoft.com>
Cc: cifs-protocol at lists.samba.org
Subject: SMB2 File Rename

Hello,

I disovered that a file rename operation (SetInfo with
FILE_RENAME_INFORMATION_TYPE_2) fails for a SMB3 connection but works for SMB1.

I've run smbclient from Samba again Windows 2012:

File rename (move) over SMB1 with smbclient:

bin/smbclient //win-dc02.earth.milkyway.site/Test -Ubob1%Secret007! -mNT1 Try "help" to get a list of possible commands.
smb: \> cd dir1
smb: \dir1\> rename README ..\dir2\README
smb: \dir1\>

This works!

File rename (move) over SMB3 with smbclient:

bin/smbclient //win-dc02.earth.milkyway.site/Test -Ubob1%Secret007! -mSMB3 Try "help" to get a list of possible commands.
smb: \> cd dir1
smb: \dir1\> rename README ..\dir2\README NT_STATUS_OBJECT_NAME_NOT_FOUND renaming files \dir1\README -> \dir1\..
\dir2\README
smb: \dir1\>

As you can see, it fails with NT_STATUS_OBJECT_NAME_NOT_FOUND.

I do not see that we're doing anything wrong in the SetInfo request. The doc does not mention that '..' is not allowed.

Is a path of dir1\..\dir2\file not allowed?


Attached are the network traces.


Thanks for your help!


Best regards,


Andreas


-- 
Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org
https://na01.safelinks.protection.outlook.com/?url=www.samba.org&data=02%7C01%7Cdochelp%40windows.microsoft.com%7Cdb860571ade549e87bc208d517bd7967%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636441024913131046&sdata=6IkdMZZH7l7MzpVZTpI2%2FcQKHLiv1jq0wxb6iOBTidg%3D&reserved=0




More information about the cifs-protocol mailing list