Implement SMB 3.x Lease support Phase 1-2
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled

Phase 1: Open struct lease fields
- lease_key: Option<[u8; 16]> - LeaseKey GUID
- lease_state: Option<u32> - READ/HANDLE/WRITE flags
- lease_flags: Option<u32> - BREAKING etc.

Phase 2: LeaseManager
- LeaseEntry with lease_key/state/flags
- register/unregister/can_grant methods
- break_lease returns LeaseBreakNotification
- LeaseBreakNotification struct (MS-SMB2 §2.2.26)

ServerState: lease_manager field added

All 229 tests pass.
This commit is contained in:
Warren
2026-06-21 01:20:18 +08:00
parent 3cf503d05f
commit 21a9c3c6c4
3 changed files with 127 additions and 0 deletions

View File

@@ -304,6 +304,10 @@ pub struct Open {
// Oplock fields (MS-SMB2 §2.2.13 / §2.2.14)
pub oplock_level: u8,
pub share_access: u32,
// Lease fields (MS-SMB2 §2.2.13 for SMB 3.x)
pub lease_key: Option<[u8; 16]>, // LeaseKey GUID
pub lease_state: Option<u32>, // LeaseState (READ/HANDLE/WRITE)
pub lease_flags: Option<u32>, // LeaseFlags (BREAKING etc.)
}
impl Open {
@@ -327,6 +331,9 @@ impl Open {
search_state: None,
oplock_level,
share_access,
lease_key: None,
lease_state: None,
lease_flags: None,
}
}
}