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