mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-25 01:02:24 +00:00
75b7ba26d3
I've written my own analogue of OpenSSH's ssh-askpass. At the moment, it's contained inside Pageant proper, though it could easily be compiled into a standalone binary as well or instead. Unlike OpenSSH's version, I don't use a GTK edit box; instead I just process key events myself and append them to a buffer. The big advantage of doing this is that I can arrange for ^W and ^U to function as they do in terminal line editing, i.e. delete a word or delete the whole line. ^W in particular is really valuable when typing a multiple-word passphrase unseen. If you feel yourself making the kind of typo in which you're not sure if you pressed six keys or just five, you can hit ^W and restart just that word, without either having to go right back to the beginning or carry on and see if you feel lucky. A delete-word function would of course be an information leak in even an obscured edit box (displaying a blob per character), so instead I give a visual acknowledgment of keypresses by a more ad-hoc means: I display three lights in the box, and every meaningful keypress turns off the currently active one and instead turns on a randomly selected one of the others. (So the lit light doesn't even indicate _mod 3_ how many keys have been pressed.) |
||
---|---|---|
.. | ||
configure | ||
gtkask.c | ||
gtkcfg.c | ||
gtkcols.c | ||
gtkcols.h | ||
gtkdlg.c | ||
gtkfont.c | ||
gtkfont.h | ||
gtkwin.c | ||
unix.h | ||
ux_x11.c | ||
uxagentc.c | ||
uxcfg.c | ||
uxcons.c | ||
uxgen.c | ||
uxgss.c | ||
uxmisc.c | ||
uxnet.c | ||
uxnoise.c | ||
uxpgnt.c | ||
uxplink.c | ||
uxprint.c | ||
uxproxy.c | ||
uxpterm.c | ||
uxpty.c | ||
uxputty.c | ||
uxsel.c | ||
uxser.c | ||
uxsftp.c | ||
uxshare.c | ||
uxsignal.c | ||
uxstore.c | ||
uxucs.c | ||
xkeysym.c | ||
xpmptcfg.c | ||
xpmpterm.c | ||
xpmpucfg.c | ||
xpmputty.c |