From: Ralph Boehme Date: Tue, 19 Dec 2023 12:06:55 +0000 (+0100) Subject: smbd: return the correct error in can_rename() X-Git-Tag: talloc-2.4.2~143 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=276c5bd851ab6ab818a49d9c47f6b96de8024778;p=thirdparty%2Fsamba.git smbd: return the correct error in can_rename() This is what Windows returns for this case. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13688 Signed-off-by: Ralph Boehme Reviewed-by: Stefan Metzmacher --- diff --git a/source3/smbd/smb2_reply.c b/source3/smbd/smb2_reply.c index 729bb21f09b..f3cc48b7d56 100644 --- a/source3/smbd/smb2_reply.c +++ b/source3/smbd/smb2_reply.c @@ -1142,6 +1142,11 @@ ssize_t sendfile_short_send(struct smbXsrv_connection *xconn, static NTSTATUS can_rename(connection_struct *conn, files_struct *fsp, uint16_t dirtype) { + if (fsp->fsp_name->twrp != 0) { + /* Get the error right, this is what Windows returns. */ + return NT_STATUS_NOT_SAME_DEVICE; + } + if (!CAN_WRITE(conn)) { return NT_STATUS_MEDIA_WRITE_PROTECTED; }