1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

libcli/smb: only allow SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET in lease_flag

MS-SMB2 3.3.5.9.11 Handling the SMB2_CREATE_REQUEST_LEASE_V2 Create Context:

  The server MUST attempt to locate a Lease by performing a lookup in the
  LeaseTable.LeaseList using the LeaseKey ...

  If no lease is found, one MUST be allocated with the following values set:

  ...

  * Lease.Breaking is set to FALSE.

  ...

Ensures we ignore SMB2_LEASE_FLAG_BREAK_IN_PROGRESS. Found by
MS-SMB2-Prototocol-Testsuite "BreakReadLeaseV2TestCaseS0".

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
Ralph Boehme 2024-10-22 15:05:58 +02:00
parent 9708aebcce
commit 52d8af2f42
2 changed files with 1 additions and 1 deletions

View File

@ -54,6 +54,7 @@ ssize_t smb2_lease_pull(const uint8_t *buf, size_t len,
case 2: case 2:
memcpy(&lease->parent_lease_key, buf+32, 16); memcpy(&lease->parent_lease_key, buf+32, 16);
lease->lease_flags = IVAL(buf, 20); lease->lease_flags = IVAL(buf, 20);
lease->lease_flags &= SMB2_LEASE_FLAG_PARENT_LEASE_KEY_SET;
lease->lease_duration = BVAL(buf, 24); lease->lease_duration = BVAL(buf, 24);
lease->lease_epoch = SVAL(buf, 48); lease->lease_epoch = SVAL(buf, 48);
break; break;

View File

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