From b202d9e70f4ebef67c6d2e0e86348704df24fc30 Mon Sep 17 00:00:00 2001 From: Gordon Ross Date: Sat, 8 Jan 2022 17:57:30 -0500 Subject: 15097 WPTS BVT_SMB2Basic_ChangeNotify_MaxTransactSizeCheck_Smb21 Reviewed by: Andy Stormont Reviewed by: Joyce McIntosh Reviewed by: Matt Barden Approved by: Dan McDonald --- usr/src/uts/common/fs/smbsrv/smb2_change_notify.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'usr/src/uts/common/fs') diff --git a/usr/src/uts/common/fs/smbsrv/smb2_change_notify.c b/usr/src/uts/common/fs/smbsrv/smb2_change_notify.c index 911e3544f6..1aab018e80 100644 --- a/usr/src/uts/common/fs/smbsrv/smb2_change_notify.c +++ b/usr/src/uts/common/fs/smbsrv/smb2_change_notify.c @@ -22,6 +22,7 @@ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. * Copyright 2018 Nexenta Systems, Inc. All rights reserved. + * Copyright 2022 RackTop Systems, Inc. */ /* @@ -80,8 +81,10 @@ smb2_change_notify(smb_request_t *sr) if (iFlags & SMB2_WATCH_TREE) CompletionFilter |= FILE_NOTIFY_CHANGE_EV_SUBDIR; - if (oBufLength > smb2_max_trans) - oBufLength = smb2_max_trans; + if (oBufLength > smb2_max_trans) { + status = NT_STATUS_INVALID_PARAMETER; + goto errout; + } /* * Check for events and consume, non-blocking. -- cgit v1.2.3 From 6cd1873200c86b91025b7a2ed64da4fe509f8187 Mon Sep 17 00:00:00 2001 From: Gordon Ross Date: Mon, 10 Jan 2022 19:11:01 -0500 Subject: 15098 WPTS BVT_SMB2Basic_ChangeNotify_NoFileListDirectoryInGrantedAccess Reviewed by: Andy Stormont Reviewed by: Joyce McIntosh Reviewed by: Matt Barden Approved by: Dan McDonald --- usr/src/uts/common/fs/smbsrv/smb_notify.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'usr/src/uts/common/fs') diff --git a/usr/src/uts/common/fs/smbsrv/smb_notify.c b/usr/src/uts/common/fs/smbsrv/smb_notify.c index 602fa1db3b..4a79026b8b 100644 --- a/usr/src/uts/common/fs/smbsrv/smb_notify.c +++ b/usr/src/uts/common/fs/smbsrv/smb_notify.c @@ -22,6 +22,7 @@ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2020 Tintri by DDN, Inc. All rights reserved. + * Copyright 2022 RackTop Systems, Inc. */ /* @@ -198,6 +199,9 @@ smb_notify_act1(smb_request_t *sr, uint32_t buflen, uint32_t filter) return (NT_STATUS_INVALID_PARAMETER); } + if ((of->f_granted_access & FILE_LIST_DIRECTORY) == 0) + return (NT_STATUS_ACCESS_DENIED); + mutex_enter(&of->f_mutex); /* -- cgit v1.2.3 From 48f31ae786d40628787e82ea7955dca7c6ffbeae Mon Sep 17 00:00:00 2001 From: Gordon Ross Date: Mon, 10 Jan 2022 20:03:26 -0500 Subject: 15099 WPTS BVT_SMB2Basic_ChangeNotify_ChangeSecurity Reviewed by: Andy Stormont Reviewed by: Joyce McIntosh Approved by: Dan McDonald --- usr/src/uts/common/fs/smbsrv/smb_fsops.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'usr/src/uts/common/fs') diff --git a/usr/src/uts/common/fs/smbsrv/smb_fsops.c b/usr/src/uts/common/fs/smbsrv/smb_fsops.c index 1d46497877..ef58f15fa8 100644 --- a/usr/src/uts/common/fs/smbsrv/smb_fsops.c +++ b/usr/src/uts/common/fs/smbsrv/smb_fsops.c @@ -21,6 +21,7 @@ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2012-2021 Tintri by DDN, Inc. All rights reserved. + * Copyright 2022 RackTop Systems, Inc. */ #include @@ -2335,6 +2336,11 @@ smb_fsop_aclwrite(smb_request_t *sr, cred_t *cr, smb_node_t *snode, flags = ATTR_NOACLCHECK; error = smb_vop_acl_write(snode->vp, acl, flags, cr); + if (error == 0 && snode->n_dnode != NULL) { + // FILE_NOTIFY_CHANGE_SECURITY + smb_node_notify_change(snode->n_dnode, + FILE_ACTION_MODIFIED, snode->od_name); + } } if (dacl && sacl) -- cgit v1.2.3