Warren
9c44bd5929
Implement VFS quota support
...
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
- Add VfsQuota and VfsQuotaUsage structs
- Add quota methods to VfsBackend trait:
- set_quota: set space/file limits
- get_quota: retrieve quota settings
- get_quota_usage: current usage stats
- check_quota: pre-write check
- Implement LocalFs quota support:
- Uses .quota metadata file
- JSON storage for quota limits
- Recursive size/file counting
- Hidden files excluded (.quota, .snapshots)
Enables SMB per-share/user quota enforcement.
All 229 tests pass.
2026-06-20 22:17:50 +08:00
Warren
f016525687
Implement VFS snapshot support (ZFS-style)
...
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
- Add VfsSnapshotInfo struct
- Add snapshot methods to VfsBackend trait:
- create_snapshot: copy-on-write with metadata
- list_snapshots: enumerate snapshots
- delete_snapshot: remove snapshot and metadata
- restore_snapshot: restore from snapshot
- snapshot_info: get snapshot metadata
- Implement LocalFs snapshot support:
- Uses .snapshots directory for storage
- JSON metadata files (*.meta)
- Recursive directory copy
- Size calculation
This enables SMB 'Previous versions' feature foundation.
All 229 tests pass.
2026-06-20 22:13:17 +08:00
Warren
eb80c07c85
Implement WebDAV VFS integration: dav-server 0.11 compatible
...
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
- Add webdav.rs module: VfsDavFs, VfsDavFile, VfsDavMetaData
- Implement DavFileSystem + Clone for GuardedFileSystem blanket impl
- Add clone_boxed to VfsBackend trait (required for Sync)
- Update CLI webdav.rs to use VFS instead of SQLite
- Add bytes dependency
- All 155 tests pass
2026-06-19 08:19:16 +08:00
Warren
d94cb2df4c
Fix code quality: trailing whitespace, unused imports, clippy warnings
...
- Fix trailing whitespace in kex.rs and s3.rs
- Add missing KexProposal import in kex_complete.rs
- Auto-fix clippy warnings across all crates
- All 153 tests pass
2026-06-19 05:21:38 +08:00
Warren
f90e4f496c
VFS/DataProvider/Config refactoring + SSH public key authentication
...
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
Phase 1-6 of refactoring plan:
- VFS abstraction (VfsBackend trait + LocalFs + OpenFlags builder)
- DataProvider trait (SqliteProvider + PgProvider, SFTPGo-compatible)
- Config refactoring (AppConfig unified sections, env overrides)
- SSH handlers (sftp/scp/rsync) migrated to VFS + DataProvider
- SSH public key authentication (Ed25519 signature verification)
- SSH stderr → CHANNEL_EXTENDED_DATA support
- Web auth uses DataProvider instead of direct SQL
- User home directory from provider (per-user isolation)
- PostgreSQL auth provider for SFTPGo compatibility
2026-06-18 23:35:18 +08:00