Update documentation for SSH tunneling improvements

- Added SSH tunneling enhancements to CHANGELOG.md v1.4.6
- Updated DOCUMENTATION.md with SSH tunnel handling improvements
- Updated README.md changelog section with tunnel fixes
- Updated TODO.md with completed SSH tunneling tasks

Includes fixes for:
- EBADF error handling
- SSH client disconnection handling
- Socket validation improvements
- SSH tunneling timing issues
- wssshc architectural fixes
parent d5f498c2
...@@ -10,10 +10,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -10,10 +10,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
- **Code Refactoring and Library Architecture**: Major refactoring to eliminate code duplication - **Code Refactoring and Library Architecture**: Major refactoring to eliminate code duplication
- Created shared libraries: `wssshlib.h/.c`, `websocket.h/.c`, `wssh_ssl.h/.c`, `tunnel.h/.c` - Created shared libraries: `wssshlib.h/.c`, `websocket.h/.c`, `wssh_ssl.h/.c`, `tunnel.h/.c`
- Extracted ~1500+ lines of duplicate code between wsssh.c and wsscp.c - Extracted ~1500+ lines of duplicate code between wsssh.c and wssshc.c
- Improved maintainability and code organization with modular architecture - Improved maintainability and code organization with modular architecture
- Enhanced build system with proper library dependencies - Enhanced build system with proper library dependencies
- **SSH Tunneling Improvements**: Enhanced SSH tunnel handling and error recovery
- Added specific handling for EBADF (Bad file descriptor) errors
- Improved error handling in handle_tunnel_data for SSH client disconnections
- Removed aggressive socket validation causing SSH client disconnections
- Fixed SSH client socket invalidation issue in handle_tunnel_data
- Added missing SSH client accept() logic in wsssh socket handling
- Fixed SSH tunneling timing issue with proper data buffering
- Implemented correct SSH tunneling architecture for wssshc
- Fixed critical architectural issue in wssshc tunnel handling
- Enhanced error handling for broken SSH connections
- **Port Option Behavior Correction**: Fixed critical port option behavior - **Port Option Behavior Correction**: Fixed critical port option behavior
- `-p`/`-P` options now correctly specify wssshd server port (not SSH/SCP server port) - `-p`/`-P` options now correctly specify wssshd server port (not SSH/SCP server port)
- Removed misleading "passed through to ssh/scp" documentation - Removed misleading "passed through to ssh/scp" documentation
...@@ -36,6 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ...@@ -36,6 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Technical Details ### Technical Details
- **Library Dependencies**: New build system properly links wsssh and wsscp against shared libraries - **Library Dependencies**: New build system properly links wsssh and wsscp against shared libraries
- **Code Deduplication**: Eliminated redundant implementations of WebSocket, SSL, and tunnel functions - **Code Deduplication**: Eliminated redundant implementations of WebSocket, SSL, and tunnel functions
- **SSH Tunnel Stability**: Enhanced tunnel reliability with improved error handling and connection management
- **Port Handling**: Fixed hostname parsing and port precedence logic - **Port Handling**: Fixed hostname parsing and port precedence logic
- **Build System**: Updated configure.sh and Makefile to handle new library structure - **Build System**: Updated configure.sh and Makefile to handle new library structure
- **Backward Compatibility**: All existing functionality preserved, new features are additive - **Backward Compatibility**: All existing functionality preserved, new features are additive
......
...@@ -296,7 +296,19 @@ id = client1 ...@@ -296,7 +296,19 @@ id = client1
- Configuration file provides defaults when command line options are not specified - Configuration file provides defaults when command line options are not specified
- Required parameters must be provided either via command line or configuration file - Required parameters must be provided either via command line or configuration file
#### Enhanced Features (v1.3.4) #### Enhanced Features (v1.4.6)
**SSH Tunneling Improvements:**
- Enhanced SSH tunnel handling with improved error recovery
- Added specific handling for EBADF (Bad file descriptor) errors
- Improved error handling in handle_tunnel_data for SSH client disconnections
- Removed aggressive socket validation causing SSH client disconnections
- Fixed SSH client socket invalidation issue in handle_tunnel_data
- Added missing SSH client accept() logic in wsssh socket handling
- Fixed SSH tunneling timing issue with proper data buffering
- Implemented correct SSH tunneling architecture for wssshc
- Fixed critical architectural issue in wssshc tunnel handling
- Enhanced error handling for broken SSH connections
**WebSocket Connection Management:** **WebSocket Connection Management:**
- Fixed ping frame parsing in C implementations (wsssh.c and wsscp.c) - Fixed ping frame parsing in C implementations (wsssh.c and wsscp.c)
......
...@@ -602,10 +602,22 @@ Your support helps us continue developing and maintaining this open-source proje ...@@ -602,10 +602,22 @@ Your support helps us continue developing and maintaining this open-source proje
**Major Refactoring:** **Major Refactoring:**
- **Code Architecture Overhaul**: Major refactoring to eliminate code duplication - **Code Architecture Overhaul**: Major refactoring to eliminate code duplication
- Created shared libraries: `wssshlib.h/.c`, `websocket.h/.c`, `wssh_ssl.h/.c`, `tunnel.h/.c` - Created shared libraries: `wssshlib.h/.c`, `websocket.h/.c`, `wssh_ssl.h/.c`, `tunnel.h/.c`
- Extracted ~1500+ lines of duplicate code between wsssh.c and wsscp.c - Extracted ~1500+ lines of duplicate code between wsssh.c and wssshc.c
- Improved maintainability and code organization with modular architecture - Improved maintainability and code organization with modular architecture
- Enhanced build system with proper library dependencies - Enhanced build system with proper library dependencies
**SSH Tunneling Enhancements:**
- **Enhanced Tunnel Stability**: Improved SSH tunnel handling and error recovery
- Added specific handling for EBADF (Bad file descriptor) errors
- Improved error handling in handle_tunnel_data for SSH client disconnections
- Removed aggressive socket validation causing SSH client disconnections
- Fixed SSH client socket invalidation issue in handle_tunnel_data
- Added missing SSH client accept() logic in wsssh socket handling
- Fixed SSH tunneling timing issue with proper data buffering
- Implemented correct SSH tunneling architecture for wssshc
- Fixed critical architectural issue in wssshc tunnel handling
- Enhanced error handling for broken SSH connections
**Critical Bug Fixes:** **Critical Bug Fixes:**
- **Port Option Behavior Correction**: Fixed critical port option behavior - **Port Option Behavior Correction**: Fixed critical port option behavior
- `-p`/`-P` options now correctly specify wssshd server port (not SSH/SCP server port) - `-p`/`-P` options now correctly specify wssshd server port (not SSH/SCP server port)
...@@ -622,6 +634,7 @@ Your support helps us continue developing and maintaining this open-source proje ...@@ -622,6 +634,7 @@ Your support helps us continue developing and maintaining this open-source proje
**Technical Improvements:** **Technical Improvements:**
- **Library Dependencies**: New build system properly links wsssh and wsscp against shared libraries - **Library Dependencies**: New build system properly links wsssh and wsscp against shared libraries
- **Code Deduplication**: Eliminated redundant implementations of WebSocket, SSL, and tunnel functions - **Code Deduplication**: Eliminated redundant implementations of WebSocket, SSL, and tunnel functions
- **SSH Tunnel Reliability**: Enhanced tunnel stability with improved error handling and connection management
- **Port Handling**: Fixed hostname parsing and port precedence logic - **Port Handling**: Fixed hostname parsing and port precedence logic
- **Build System**: Updated configure.sh and Makefile to handle new library structure - **Build System**: Updated configure.sh and Makefile to handle new library structure
- **Backward Compatibility**: All existing functionality preserved, new features are additive - **Backward Compatibility**: All existing functionality preserved, new features are additive
......
...@@ -3,9 +3,19 @@ ...@@ -3,9 +3,19 @@
## Recently Completed (v1.4.6) ## Recently Completed (v1.4.6)
- [x] **Code Refactoring and Library Architecture**: Major refactoring to eliminate code duplication - [x] **Code Refactoring and Library Architecture**: Major refactoring to eliminate code duplication
- Created shared libraries: `wssshlib.h/.c`, `websocket.h/.c`, `wssh_ssl.h/.c`, `tunnel.h/.c` - Created shared libraries: `wssshlib.h/.c`, `websocket.h/.c`, `wssh_ssl.h/.c`, `tunnel.h/.c`
- Extracted ~1500+ lines of duplicate code between wsssh.c and wsscp.c - Extracted ~1500+ lines of duplicate code between wsssh.c and wssshc.c
- Improved maintainability and code organization with modular architecture - Improved maintainability and code organization with modular architecture
- Enhanced build system with proper library dependencies - Enhanced build system with proper library dependencies
- [x] **SSH Tunneling Improvements**: Enhanced SSH tunnel handling and error recovery
- Added specific handling for EBADF (Bad file descriptor) errors
- Improved error handling in handle_tunnel_data for SSH client disconnections
- Removed aggressive socket validation causing SSH client disconnections
- Fixed SSH client socket invalidation issue in handle_tunnel_data
- Added missing SSH client accept() logic in wsssh socket handling
- Fixed SSH tunneling timing issue with proper data buffering
- Implemented correct SSH tunneling architecture for wssshc
- Fixed critical architectural issue in wssshc tunnel handling
- Enhanced error handling for broken SSH connections
- [x] **Port Option Behavior Correction**: Fixed critical port option behavior - [x] **Port Option Behavior Correction**: Fixed critical port option behavior
- `-p`/`-P` options now correctly specify wssshd server port (not SSH/SCP server port) - `-p`/`-P` options now correctly specify wssshd server port (not SSH/SCP server port)
- Removed misleading "passed through to ssh/scp" documentation - Removed misleading "passed through to ssh/scp" documentation
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment