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 <a...@samba.org>
Cc: cifs-protocol@lists.samba.org; MSSolve Case Email <casem...@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:a...@samba.org]
Sent: Friday, October 20, 2017 6:21 AM
To: Interoperability Documentation Help <doch...@microsoft.com>
Cc: cifs-protocol@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                             a...@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


_______________________________________________
cifs-protocol mailing list
cifs-protocol@lists.samba.org
https://lists.samba.org/mailman/listinfo/cifs-protocol

Reply via email to