Re: [PATCH v5 13/20] ksmbd: remove ksmbd_verify_smb_message()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 02.10.21 um 07:46 schrieb Namjae Jeon:
2021-10-01 21:04 GMT+09:00, Ralph Boehme <slow@xxxxxxxxx>:
Another leftover from SMB1 support. Remove it and use
ksmbd_verify_smb_message()
directly in __process_request().

Cc: Namjae Jeon <linkinjeon@xxxxxxxxxx>
Cc: Tom Talpey <tom@xxxxxxxxxx>
Cc: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Cc: Steve French <smfrench@xxxxxxxxx>
Cc: Hyunchul Lee <hyc.lee@xxxxxxxxx>
Signed-off-by: Ralph Boehme <slow@xxxxxxxxx>
---
  fs/ksmbd/server.c     |  2 +-
  fs/ksmbd/smb_common.c | 24 ------------------------
  fs/ksmbd/smb_common.h |  1 -
  3 files changed, 1 insertion(+), 26 deletions(-)

diff --git a/fs/ksmbd/server.c b/fs/ksmbd/server.c
index 2a2b2135bfde..328c4225cec1 100644
--- a/fs/ksmbd/server.c
+++ b/fs/ksmbd/server.c
@@ -114,7 +114,7 @@ static int __process_request(struct ksmbd_work *work,
struct ksmbd_conn *conn,
  	if (check_conn_state(work))
  		return SERVER_HANDLER_CONTINUE;

-	if (ksmbd_verify_smb_message(work))
+	if (ksmbd_smb2_check_message(work))
  		return SERVER_HANDLER_ABORT;

  	command = conn->ops->get_cmd_val(work);
diff --git a/fs/ksmbd/smb_common.c b/fs/ksmbd/smb_common.c
index e1e5a071678e..4a283cd6d6e1 100644
--- a/fs/ksmbd/smb_common.c
+++ b/fs/ksmbd/smb_common.c
@@ -122,30 +122,6 @@ int ksmbd_lookup_protocol_idx(char *str)
  	return -1;
  }

-/**
- * ksmbd_verify_smb_message() - check for valid smb2 request header
- * @work:	smb work
- *
- * check for valid smb signature and packet direction(request/response)
- *
- * Return:      0 on success, otherwise -EINVAL
- */
-int ksmbd_verify_smb_message(struct ksmbd_work *work)
-{
-	struct smb2_hdr *smb2_hdr = ksmbd_req_buf_next(work);
-	struct smb_hdr *hdr;
-
-	if (smb2_hdr->ProtocolId == SMB2_PROTO_NUMBER)
-		return ksmbd_smb2_check_message(work);
-
-	hdr = work->request_buf;
-	if (*(__le32 *)hdr->Protocol == SMB1_PROTO_NUMBER &&
-	    hdr->Command == SMB_COM_NEGOTIATE)
-		return 0;
smb1 negotiate is needed for windows connection. Have you tested with
windows client ?

d'oh! You're right. Guess I got in a frenzy to remove more SMB1 stuff. :)

-slow

--
Ralph Boehme, Samba Team                 https://samba.org/
SerNet Samba Team Lead      https://sernet.de/en/team-samba

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux