1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00
Go to file
Simon Tatham a82ab70b0b Fix error handling when command-line password fails.
In cmdline_get_passwd_input(), there's a boolean 'tried_once' which is
set the first time the function returns the password set by -pw or
-pwfile. The idea, as clearly commented in the code, was that if
cmdline_get_password_input asks for that password _again_, we return
failure, as if the user had refused to make a second attempt.

But that wasn't actually what happened, because when we set tried_once
to true, we also set cmdline_password to NULL, which causes the second
call to the function to behave as if no password was ever provided at
all. So after the -pw password failed, we'd fall back to asking
interactively.

This change moves the check of cmdline_password to after the check of
tried_once, restoring the originally intended behaviour: password
authentication will now _only_ be done via the pre-set password, if
there is one.

This seems like an xkcd #1172 kind of change: now that it's been wrong
for a while, _someone_ has probably found the unintended behaviour
useful, and started relying on it. So it may become necessary to add
an option to set the behaviour either way. But for the moment, let's
try it the way I originally intended it.
2021-12-28 15:56:52 +00:00
charset Add missing dependencies on generated source files. 2021-04-18 17:01:50 +01:00
cmake Fix pre-GTK3 build failures in puttyapp / ptermapp. 2021-12-18 11:43:57 +00:00
contrib New script contrib/proveprime.py. 2021-06-12 13:50:51 +01:00
crypto Expose openssh_bcrypt() to testcrypt, and test it. 2021-12-24 10:13:28 +00:00
doc Compatibility with older versions of cmake. 2021-10-29 18:08:18 +01:00
icons Make Windows versions of the pterm icons. 2021-05-08 17:33:25 +01:00
keygen Generalise strbuf_catf() into put_fmt(). 2021-11-19 11:32:47 +00:00
otherbackends Generalise strbuf_catf() into put_fmt(). 2021-11-19 11:32:47 +00:00
proxy Rewrite local-proxy system to allow interactive prompts. 2021-12-22 15:45:41 +00:00
ssh Cosmetic fix: double indentation in an if statement. 2021-12-27 14:03:23 +00:00
stubs Move some more files into subdirectories. 2021-11-23 18:52:15 +00:00
terminal Proper buffer management between terminal and backend. 2021-12-19 11:02:48 +00:00
test Expose openssh_bcrypt() to testcrypt, and test it. 2021-12-24 10:13:28 +00:00
unix Rewrite local-proxy system to allow interactive prompts. 2021-12-22 15:45:41 +00:00
utils Remove duplicated string-literal formatter in Telnet proxy. 2021-12-22 15:05:04 +00:00
windows Rewrite local-proxy system to allow interactive prompts. 2021-12-22 15:45:41 +00:00
.gitignore Add .gitignore rules for in-tree builds. 2021-04-19 18:26:56 +01:00
aqsync.c Build outgoing SSH agent requests in a strbuf. 2018-05-25 14:36:16 +01:00
be_list.c Merge be_*.c into one ifdef-controlled module. 2021-11-26 17:58:55 +00:00
Buildscr Put all the docs formats into the tarball. 2021-12-21 09:49:58 +00:00
Buildscr.cv Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
callback.c Add lots of missing 'static' keywords. 2020-01-29 06:44:18 +00:00
cgtest.c cmdgen: support configurable key fingerprint type. 2021-03-13 11:01:35 +00:00
CHECKLST.txt Compatibility with older versions of cmake. 2021-10-29 18:08:18 +01:00
clicons.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
CMakeLists.txt Rewrite local-proxy system to allow interactive prompts. 2021-12-22 15:45:41 +00:00
cmdgen.c cmdgen: add missing null pointer check in --dump mode. 2021-06-12 14:08:10 +01:00
cmdline.c Fix error handling when command-line password fails. 2021-12-28 15:56:52 +00:00
config.c Lowercase version of BackendVtable's displayname. 2021-10-24 09:59:05 +01:00
console.c Mention the host name in host-key prompts. 2021-09-16 14:33:59 +01:00
console.h Mention the host name in host-key prompts. 2021-09-16 14:33:59 +01:00
defs.h Allow creating FdSocket/HandleSocket before the fds/handles. 2021-12-22 15:45:41 +00:00
dialog.c dialog system: add a side-by-side alignment feature. 2021-04-10 09:43:25 +01:00
dialog.h dialog system: add a side-by-side alignment feature. 2021-04-10 09:43:25 +01:00
errsock.c Change vtable defs to use C99 designated initialisers. 2020-03-10 21:06:29 +00:00
import.c Expose openssh_bcrypt() to testcrypt, and test it. 2021-12-24 10:13:28 +00:00
LATEST.VER Update version number for 0.76 release. 2021-07-10 10:39:20 +01:00
ldisc.c free_prompts: deal with a reference from an Ldisc. 2021-09-16 13:55:10 +01:00
LICENCE It's a new year. 2021-01-11 21:37:51 +00:00
licence.pl Separate the functions of licence.pl. 2021-04-17 13:52:27 +01:00
logging.c sshproxy: share the caller's LogPolicy. 2021-09-13 17:18:31 +01:00
marshal.h Remove duplicated string-literal formatter in Telnet proxy. 2021-12-22 15:05:04 +00:00
misc.h Generalise strbuf_catf() into put_fmt(). 2021-11-19 11:32:47 +00:00
mksrcarc.sh Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
mkunxarc.sh Integrate the 'doc' subdir into the CMake system. 2021-05-03 17:01:55 +01:00
mpint.h Make mp_unsafe_mod_integer not be unsafe. 2021-08-27 17:43:40 +01:00
network.h Allow creating FdSocket/HandleSocket before the fds/handles. 2021-12-22 15:45:41 +00:00
pageant.c New API for plug_closing() with a custom type enum. 2021-11-06 14:48:26 +00:00
pageant.h winpgnt: menu options to delete/reencrypt everything. 2021-04-04 10:02:24 +01:00
pinger.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
pscp.c PSCP: fix filename in 'compound pathname' error. 2021-12-12 10:49:31 +00:00
psftp.c Merge be_*.c into one ifdef-controlled module. 2021-11-26 17:58:55 +00:00
psftp.h Remove FLAG_VERBOSE. 2020-01-30 06:40:21 +00:00
psftpcommon.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
psocks.c New API for plug_closing() with a custom type enum. 2021-11-06 14:48:26 +00:00
psocks.h Auxiliary application: 'psocks', a simple SOCKS server. 2020-02-23 16:36:27 +00:00
putty.h Proper buffer management between terminal and backend. 2021-12-19 11:02:48 +00:00
puttymem.h Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
README Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
release.pl Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
settings.c Make BugDropStart default to FORCE_OFF, not AUTO. 2021-11-04 15:13:33 +00:00
sign.sh GPG key rollover. 2021-08-14 08:02:27 +01:00
ssh.h Expose openssh_bcrypt() to testcrypt, and test it. 2021-12-24 10:13:28 +00:00
sshcr.h Assorted benign warning fixes. 2020-01-29 06:44:18 +00:00
sshkeygen.h Side-channel-safe rewrite of the Miller-Rabin test. 2021-08-27 18:04:49 +01:00
sshpubk.c Generalise strbuf_catf() into put_fmt(). 2021-11-19 11:32:47 +00:00
sshrand.c Remove dependency of sshrand.c on SHA-512. 2020-09-13 09:11:31 +01:00
storage.h Reorganise host key checking and confirmation. 2021-10-25 18:12:17 +01:00
timing.c Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
tree234.h Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
version.h Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
x11disp.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00

This is the README for PuTTY, a free Windows and Unix Telnet and SSH
client.

PuTTY is built using CMake <https://cmake.org/>. To compile in the
simplest way (on any of Linux, Windows or Mac), run these commands in
the source directory:

  cmake .
  cmake --build .

Documentation (in various formats including Windows Help and Unix
`man' pages) is built from the Halibut (`.but') files in the `doc'
subdirectory using `doc/Makefile'. If you aren't using one of our
source snapshots, you'll need to do this yourself. Halibut can be
found at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.

The PuTTY home web site is

    https://www.chiark.greenend.org.uk/~sgtatham/putty/

If you want to send bug reports or feature requests, please read the
Feedback section of the web site before doing so. Sending one-line
reports saying `it doesn't work' will waste your time as much as
ours.

See the file LICENCE for the licence conditions.