Implement SMB 3.x Lease support Phase 1-2
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:
7
vendor/smb-server/src/conn/state.rs
vendored
7
vendor/smb-server/src/conn/state.rs
vendored
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user