v0.9.0
New Features
-
SSH ProxyJump File Transfer Support: Added complete file transfer operations through SSH jump hosts (#39)
- Upload single files through jump host chains
- Download single files through jump hosts
- Upload directories recursively through jump hosts
- Download directories through jump hosts
- All file transfer operations now fully support multi-hop SSH connections
-
Configurable Jump Host Limit: Maximum number of jump hosts can now be configured via environment variable
BSSH_MAX_JUMP_HOSTSenvironment variable for dynamic limit configuration- Default: 10 jump hosts, Absolute maximum: 30 (security cap)
- Invalid/zero values fall back to default with warning logs
- Example:
BSSH_MAX_JUMP_HOSTS=20 bssh -J host1,...,host20 target - Prevents resource exhaustion attacks while allowing flexible configurations
Improvements
-
Jump Host Interactive Mode: Interactive shell sessions now work through jump hosts
- Added
jump_hostsfield toInteractiveCommandstructure - Dynamic timeout calculation based on hop count (30s base + 15s per hop)
- Prevents premature timeouts on multi-hop connections
- Full authentication support (SSH keys, agent, password) for each hop
- Added
-
Parallel Executor Integration: Jump host support across all parallel operations
- Updated
executor.rsto propagate jump_hosts to all node operations - Maintains backward compatibility with
Option<&str>type - All
*_to_node()functions now acceptjump_hostsparameter
- Updated
-
Interactive Mode: Now includes jump host support with automatic timeout adjustment
- Connection timeout scales with hop count for reliability
- Example timeouts: Direct (30s), 1 hop (45s), 2 hops (60s), 3 hops (75s)
-
Test Coverage: Updated all test files to include jump_hosts parameter
tests/interactive_test.rs: Addedjump_hosts: Noneto test casestests/interactive_integration_test.rs: Updated all 9 test instancesexamples/interactive_demo.rs: Updated example with jump_hosts field
Bug Fixes
- Fixed interactive mode timeout issues when connecting through jump hosts
- Fixed file transfer operations not working with jump host chains
CI/CD Improvements
None
Technical Details
- Files Modified: 8 files
- Lines Added: +623
- Lines Removed: -26
- Net Change: +597 lines
- Test Results: All 132 tests passing
Dependencies
- Added
serial_testdependency for thread-safe environment variable testing - Updated various dependencies for security patches and stability
- Comprehensive test coverage for environment variable functionality (6 new tests)
Breaking Changes
None
Known Issues
None