Subject: Timers and Timeouts in the SSH Transport Protocol

From: Dan Davidson <[email-masked]>
Date: Tue, 2 Jul 2002 18:01:57 +0200

Hi,
	
	I was wandering what should be the behavior of a 
SSH server in the following situation:

	- A TCP/IP connection on port 22 was setup.
	- The server sent the identification string
		"SSH-protoversion-softwareversion" but didn't
		receive such a message/string from the remote side.

Should there be a re-transmission ? 
Should the connection be disconnected after a T timeout
	- What is the timer length ?
Others ?

More generally, is there any timers definition for the 
SSH Transport Protocol ?

Best Regards,
Dan

---

From: Simon Tatham <[email-masked]>
Date: Tue, 02 Jul 2002 16:36:10 +0100

> 	- What is the timer length ?

There certainly shouldn't be a retransmission! That's what TCP is
for - it will retransmit it _anyway_ until it either gets an ACK
from the client's TCP layer, and if the client fails to see it after
that then no more retransmissions are likely to help.

The server probably should disconnect after a while, because if it
doesn't then a DoS attack becomes possible. I wouldn't have thought
it was necessary to specify that timeout precisely in the protocol
definition, though; it's up to individual server maintainers. If you
find you're getting a lot of hanging connections, reduce the
timeout; if you find a lot of users are complaining that your server
cuts them off before they can send anything, increase it.
-- 
Simon Tatham         "Selfless? I'm so selfless I
<[email-masked]>    don't even know who I am."