simon-svn: putty: simon

tartarus-commits at lists.tartarus.org tartarus-commits at lists.tartarus.org
Wed Nov 24 20:35:16 GMT 2004


SVN root:       svn://ixion.tartarus.org/main
Changes by:     simon
Revision:       4901
Date:           2004-11-24 20:35:15 +0000 (Wed, 24 Nov 2004)

Log message (22 lines):
Re-architected the top level of the SSH protocol handlers.
ssh1_protocol() and ssh2_protocol() are now high-level functions
which see _every_ SSH packet and decide which lower-level function
to pass it to. Also, they each support a dispatch table of simple
handler functions for message types which can arrive at any time.
Results are:

 - ignore, debug and disconnect messages are now handled by the
   dispatch table rather than being warts in the rdpkt functions

 - SSH2_MSG_WINDOW_ADJUST is handled by the dispatch table, which
   means that do_ssh2_authconn doesn't have to explicitly
   special-case it absolutely every time it waits for a response to
   its latest channel request

 - the top-level SSH2 protocol function chooses whether messages get
   funnelled to the transport layer or the auth/conn layer based on
   the message number ranges defined in the SSH architecture draft -
   so things that should go to auth/conn go there even in the middle
   of a rekey (although a special case is that nothing goes to
   auth/conn until initial kex has finished). This should fix the
   other half of ssh2-kex-data.

Modified files:
U   putty/ssh.c

Links:
http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/putty/ssh.c?rev=4901&r1=4900&r2=4901



More information about the tartarus-commits mailing list