]> asedeno.scripts.mit.edu Git - PuTTY_svn.git/commit
Revamp SSH authentication code so that user interaction is more
authorJacob Nevins <jacobn@chiark.greenend.org.uk>
Sun, 30 Oct 2005 20:24:09 +0000 (20:24 +0000)
committerJacob Nevins <jacobn@chiark.greenend.org.uk>
Sun, 30 Oct 2005 20:24:09 +0000 (20:24 +0000)
commit958b671315c77687f06c3b11d758fc392b062c8c
tree3fd73db1e588621d05a9709db9a79597831884bd
parent640fd033b33a2a9c2318c261b301e642f27d58ec
Revamp SSH authentication code so that user interaction is more
abstracted out; replace loops structured around a single interaction
per loop with less tortuous code (fixes: `ki-multiprompt-crash',
`ssh1-bad-passphrase-crash'; makes `ssh2-password-expiry' and
`proxy-password-prompt' easier).

The new interaction abstraction has a lot of fields that are unused in
the current code (things like window captions); this is groundwork for
`gui-auth'. However, ssh.c still writes directly to stderr; that may
want to be fixed.

In the GUI apps, user interaction is moved to terminal.c. This should
make it easier to fix things like UTF-8 username entry, although I
haven't attempted to do so. Also, control character filtering can be
tailored to be appropriate for individual front-ends; so far I don't
promise anything other than not having made it any worse.

I've tried to test this fairly exhaustively (although Mac stuff is
untested, as usual). It all seems to basically work, but I bet there
are new bugs. (One I know about is that you can no longer make the
PuTTY window go away with a ^D at the password prompt; this should be
fixed.)

git-svn-id: http://svn.tartarus.org/sgt/putty@6437 cda61777-01e9-0310-a592-d414129be87e
18 files changed:
cmdgen.c
cmdline.c
mac/macterm.c
macosx/osxwin.m
misc.c
pscp.c
psftp.c
putty.h
ssh.c
terminal.c
unix/gtkwin.c
unix/uxcons.c
unix/uxplink.c
unix/uxsftp.c
windows/wincons.c
windows/window.c
windows/winplink.c
windows/winsftp.c