mirror of
https://github.com/m1ngsama/TNT.git
synced 2025-12-24 10:51:41 +00:00
Add SSH read timeout and PTY handling improvements
Fixes thread accumulation and blocking issues: 1. SSH read timeouts - Use ssh_channel_read_timeout() with 30s timeout - Handle SSH_AGAIN, SSH_ERROR return codes properly - 60s timeout for username input - Prevents threads blocking forever on dead connections 2. Improved PTY request handling - Exit loop after PTY + SHELL received - Don't loop on WINDOW_CHANGE during init - Clear termination conditions 3. Better UTF-8 validation - Check multi-byte read completeness - Skip incomplete sequences gracefully Prevents "zombie threads" and eliminates need to restart after extended operation.
This commit is contained in:
parent
6c9d243f9a
commit
c0cb22a85f
1 changed files with 2 additions and 0 deletions
|
|
@ -23,6 +23,8 @@ typedef struct client {
|
||||||
char command_output[2048];
|
char command_output[2048];
|
||||||
pthread_t thread;
|
pthread_t thread;
|
||||||
bool connected;
|
bool connected;
|
||||||
|
int ref_count; /* Reference count for safe cleanup */
|
||||||
|
pthread_mutex_t ref_lock; /* Lock for ref_count */
|
||||||
} client_t;
|
} client_t;
|
||||||
|
|
||||||
/* Initialize SSH server */
|
/* Initialize SSH server */
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue