Implement Week 7 Remote Origins with Oracle fixes

- Add credentials.rs with CredentialStore, redacted Debug (session_token shows [REDACTED])
- Add nfs.rs with ESTALE retry using Fn closure, 5s health timeout
- Add smb.rs with ENOTCONN retry handling, 5s health timeout
- Add s3.rs/sftp.rs feature-gated stubs with security documentation
- Add error variants: S3, Sftp, Timeout, Credential, NfsStaleHandle
- Fix delta.rs unused imports

Oracle fixes applied:
- SMB retry_on_disconnect for ENOTCONN (errno 107)
- session_token Debug shows [REDACTED] when Some, None otherwise
- NFS/SMB health checks wrapped with tokio::time::timeout(5s)

102 tests pass, 0 warnings.
This commit is contained in:
Alexander
2026-05-12 22:26:19 +02:00
parent d5ef68c9c9
commit 09f019730f
13 changed files with 691 additions and 3 deletions
@@ -0,0 +1,12 @@
#![allow(dead_code)]
//! SFTP origin - feature-gated to avoid russh/deadpool dependencies
#[cfg(feature = "sftp")]
mod implementation {
// Full SFTP implementation with connection pooling
// Oracle fixes to implement:
// 1. Use deadpool connection pool, not Arc<Mutex<SftpSession>>
// 2. Verify SSH host keys against ~/.ssh/known_hosts
// 3. Wrap all operations with tokio::time::timeout(30s)
// 4. Cap open_read to actual file size, not u32::MAX
}