Skip to content

v0.9.0

Choose a tag to compare

@inureyes inureyes released this 14 Oct 07:54
· 288 commits to main since this release

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_HOSTS environment 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_hosts field to InteractiveCommand structure
    • 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
  • Parallel Executor Integration: Jump host support across all parallel operations

    • Updated executor.rs to propagate jump_hosts to all node operations
    • Maintains backward compatibility with Option<&str> type
    • All *_to_node() functions now accept jump_hosts parameter
  • 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: Added jump_hosts: None to test cases
    • tests/interactive_integration_test.rs: Updated all 9 test instances
    • examples/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_test dependency 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