1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

libcli/smb: only copy the parent lease key if SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET is set

MS-SMB2 3.3.5.9.11 Handling the SMB2_CREATE_REQUEST_LEASE_V2 Create Context:

  If the SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET bit is set in the Flags field of
  the request, Lease.ParentLeaseKey MUST be set to the ParentLeaseKey of the
  request.

Found by MS-SMB2-Prototocol-Testsuite test "Compare_Zero_LeaseFlag_ParentLeaseKey".

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
Ralph Boehme 2024-10-24 19:35:00 +02:00
parent dde84e5fd3
commit 2f4cd3ab94
2 changed files with 3 additions and 2 deletions

View File

@ -52,9 +52,11 @@ ssize_t smb2_lease_pull(const uint8_t *buf, size_t len,
case 1:
break;
case 2:
memcpy(&lease->parent_lease_key, buf+32, 16);
lease->lease_flags = IVAL(buf, 20);
lease->lease_flags &= SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET;
if (lease->lease_flags & SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET) {
memcpy(&lease->parent_lease_key, buf+32, 16);
}
lease->lease_duration = BVAL(buf, 24);
lease->lease_epoch = SVAL(buf, 48);
break;

View File

@ -1 +0,0 @@
^samba3.smb2.lease.v2_flags_parentkey\(fileserver\)