fix(carrier): C-03 — decouple manifest re-encryption with dirty tracking and unmount flush
This commit is contained in:
@@ -225,6 +225,7 @@ pub async fn mount_container(
|
||||
);
|
||||
let fs_leak_counter = fs.leak_counter();
|
||||
let last_activity = fs.last_activity();
|
||||
let fs_clone = fs.clone();
|
||||
let dav_server = DavHandler::builder()
|
||||
.filesystem(Box::new(fs))
|
||||
.locksystem(FakeLs::new())
|
||||
@@ -282,6 +283,7 @@ pub async fn mount_container(
|
||||
|
||||
// Netzlaufwerk bzw. Verzeichnis einbinden
|
||||
if let Err(e) = run_mount_command(drive_letter, bound_port, &session_token) {
|
||||
let _ = fs_clone.sync_carrier_manifest();
|
||||
let _ = shutdown_tx.send(true);
|
||||
let _ = server_handle.await;
|
||||
return Err(e);
|
||||
@@ -541,6 +543,7 @@ pub async fn mount_container(
|
||||
}
|
||||
|
||||
if stealth {
|
||||
let _ = fs_clone.sync_carrier_manifest();
|
||||
let _ = unmount_drive(drive_letter);
|
||||
let _ = shutdown_tx.send(true);
|
||||
let _ = server_handle.await;
|
||||
@@ -555,6 +558,7 @@ pub async fn mount_container(
|
||||
#[cfg(not(windows))]
|
||||
println!("Sanctum: Container geschlossen und WebDAV-Server beendet.");
|
||||
} else {
|
||||
let _ = fs_clone.sync_carrier_manifest();
|
||||
#[cfg(windows)]
|
||||
{
|
||||
print!(
|
||||
|
||||
Reference in New Issue
Block a user