OSDN Git Service

Update PuTTY to 0.62.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 10 Dec 2011 15:41:58 +0000 (00:41 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 10 Dec 2011 15:41:58 +0000 (00:41 +0900)
58 files changed:
FFFTP_Eng_Release_64/FFFTP.exe
Release_64/FFFTP.exe
contrib/putty/BE_NONE.C
contrib/putty/BE_SSH.C [new file with mode: 0644]
contrib/putty/BUILDSCR
contrib/putty/DOC/PLINK.BUT
contrib/putty/DOC/PSCP.BUT
contrib/putty/MACOSX/MAKEFILE
contrib/putty/MKUNXARC.SH
contrib/putty/RECIPE
contrib/putty/SETTINGS.C
contrib/putty/SSH.C
contrib/putty/TERMINAL.C
contrib/putty/UNIX/MAKEFILE.GTK
contrib/putty/UNIX/MAKEFILE.IN
contrib/putty/UNIX/MAKEFILE.UX
contrib/putty/VERSION.C
contrib/putty/WINDOWS/DEVCPP/PSCP/PSCP.DEV
contrib/putty/WINDOWS/DEVCPP/PSFTP/PSFTP.DEV
contrib/putty/WINDOWS/MAKEFILE.BOR
contrib/putty/WINDOWS/MAKEFILE.CYG
contrib/putty/WINDOWS/MAKEFILE.LCC
contrib/putty/WINDOWS/MAKEFILE.VC
contrib/putty/WINDOWS/MSVC/PSCP/PSCP.DSP
contrib/putty/WINDOWS/MSVC/PSFTP/PSFTP.DSP
contrib/putty/WINDOWS/PUTTY.ISS
contrib/putty/WINDOWS/VERSION.RC2
contrib/putty/WINDOWS/WINDOW.C
contrib/putty/WINDOWS/WINPGNT.C
putty/BE_NONE.C
putty/BE_SSH.C [new file with mode: 0644]
putty/BUILDSCR
putty/DOC/PLINK.BUT
putty/DOC/PSCP.BUT
putty/MACOSX/MAKEFILE
putty/MKUNXARC.SH
putty/RECIPE
putty/Release/PuTTY.dll
putty/SETTINGS.C
putty/SSH.C
putty/TERMINAL.C
putty/UNIX/MAKEFILE.GTK
putty/UNIX/MAKEFILE.IN
putty/UNIX/MAKEFILE.UX
putty/VERSION.C
putty/WINDOWS/DEVCPP/PSCP/PSCP.DEV
putty/WINDOWS/DEVCPP/PSFTP/PSFTP.DEV
putty/WINDOWS/MAKEFILE.BOR
putty/WINDOWS/MAKEFILE.CYG
putty/WINDOWS/MAKEFILE.LCC
putty/WINDOWS/MAKEFILE.VC
putty/WINDOWS/MSVC/PSCP/PSCP.DSP
putty/WINDOWS/MSVC/PSFTP/PSFTP.DSP
putty/WINDOWS/PUTTY.ISS
putty/WINDOWS/VERSION.RC2
putty/WINDOWS/WINDOW.C
putty/WINDOWS/WINPGNT.C
putty/x64/Release/PuTTY.dll

index fbb64d1..68a4f40 100644 (file)
Binary files a/FFFTP_Eng_Release_64/FFFTP.exe and b/FFFTP_Eng_Release_64/FFFTP.exe differ
index c69640b..c4f6046 100644 (file)
Binary files a/Release_64/FFFTP.exe and b/Release_64/FFFTP.exe differ
index 95ddbd5..2f8297b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * Linking module for programs that do not support selection of backend\r
 /*\r
  * Linking module for programs that do not support selection of backend\r
- * (such as pscp or pterm).\r
+ * (such as pterm).\r
  */\r
 \r
 #include <stdio.h>\r
  */\r
 \r
 #include <stdio.h>\r
diff --git a/contrib/putty/BE_SSH.C b/contrib/putty/BE_SSH.C
new file mode 100644 (file)
index 0000000..a92f1a5
--- /dev/null
@@ -0,0 +1,16 @@
+/*\r
+ * Linking module for programs that are restricted to only using SSH\r
+ * (pscp and psftp). These do not support selection of backend, but\r
+ * must still have a backends[] array mentioning SSH because\r
+ * settings.c will want to consult it during session load.\r
+ */\r
+\r
+#include <stdio.h>\r
+#include "putty.h"\r
+\r
+const int be_default_protocol = PROT_SSH;\r
+\r
+Backend *backends[] = {\r
+    &ssh_backend,\r
+    NULL\r
+};\r
index 131a734..d583934 100644 (file)
@@ -7,6 +7,7 @@ module putty
 set Makever -DSVN_REV=$(revision)\r
 ifneq "$(!numeric $(revision))" "yes" set Makever $(Makever) -DMODIFIED\r
 ifneq "$(RELEASE)" "" set Makever $(Makever) -DRELEASE=$(RELEASE)\r
 set Makever -DSVN_REV=$(revision)\r
 ifneq "$(!numeric $(revision))" "yes" set Makever $(Makever) -DMODIFIED\r
 ifneq "$(RELEASE)" "" set Makever $(Makever) -DRELEASE=$(RELEASE)\r
+ifneq "$(PRERELEASE)" "" set Makever $(Makever) -DPRERELEASE=$(PRERELEASE)\r
 ifneq "$(date)" "" set Makever $(Makever) -DSNAPSHOT=$(date)\r
 set Makeargs VER="$(Makever)"\r
 ifneq "$(XFLAGS)" "" set Makeargs $(Makeargs) XFLAGS="$(XFLAGS)"\r
 ifneq "$(date)" "" set Makever $(Makever) -DSNAPSHOT=$(date)\r
 set Makeargs VER="$(Makever)"\r
 ifneq "$(XFLAGS)" "" set Makeargs $(Makeargs) XFLAGS="$(XFLAGS)"\r
@@ -15,11 +16,13 @@ ifneq "$(MAKEARGS)" "" set Makeargs $(Makeargs) $(MAKEARGS)
 # Set up the version string for the docs build.\r
 set Docmakeargs VERSION="PuTTY revision $(revision)"\r
 ifneq "$(RELEASE)" "" set Docmakeargs VERSION="PuTTY release $(RELEASE)"\r
 # Set up the version string for the docs build.\r
 set Docmakeargs VERSION="PuTTY revision $(revision)"\r
 ifneq "$(RELEASE)" "" set Docmakeargs VERSION="PuTTY release $(RELEASE)"\r
+ifneq "$(PRERELEASE)" "" set Docmakeargs VERSION="PuTTY pre-release $(PRERELEASE):r$(revision)"\r
 ifneq "$(date)" "" set Docmakeargs VERSION="PuTTY development snapshot $(date)"\r
 \r
 # Set up the version string for the Unix source archive.\r
 set Unxver r$(revision)\r
 ifneq "$(RELEASE)" "" set Unxver $(RELEASE)\r
 ifneq "$(date)" "" set Docmakeargs VERSION="PuTTY development snapshot $(date)"\r
 \r
 # Set up the version string for the Unix source archive.\r
 set Unxver r$(revision)\r
 ifneq "$(RELEASE)" "" set Unxver $(RELEASE)\r
+ifneq "$(PRERELEASE)" "" set Unxver $(PRERELEASE)pre $(revision)\r
 ifneq "$(date)" "" set Unxver $(date)\r
 \r
 # Set up the various version strings for the installer.\r
 ifneq "$(date)" "" set Unxver $(date)\r
 \r
 # Set up the various version strings for the installer.\r
@@ -33,16 +36,15 @@ ifneq "$(RELEASE)" "" set Iname PuTTY version $(RELEASE)
 ifneq "$(RELEASE)" "" set Ivertext Release $(RELEASE)\r
 ifneq "$(RELEASE)" "" set Irev 0\r
 ifneq "$(RELEASE)" "" set Ifilename putty-$(RELEASE)-installer.exe\r
 ifneq "$(RELEASE)" "" set Ivertext Release $(RELEASE)\r
 ifneq "$(RELEASE)" "" set Irev 0\r
 ifneq "$(RELEASE)" "" set Ifilename putty-$(RELEASE)-installer.exe\r
+ifneq "$(PRERELEASE)" "" set Iversion $(PRERELEASE):r$(revision)\r
+ifneq "$(PRERELEASE)" "" set Iname PuTTY pre-release $(PRERELEASE):r$(revision)\r
+ifneq "$(PRERELEASE)" "" set Ivertext Pre-release $(PRERELEASE):r$(revision)\r
+ifneq "$(PRERELEASE)" "" set Ifilename putty-$(PRERELEASE)-pre$(revision)-installer.exe\r
 ifneq "$(date)" "" set Iversion $(date):r$(revision)\r
 ifneq "$(date)" "" set Iname PuTTY development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ivertext Development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ifilename putty-$(date)-installer.exe\r
 \r
 ifneq "$(date)" "" set Iversion $(date):r$(revision)\r
 ifneq "$(date)" "" set Iname PuTTY development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ivertext Development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ifilename putty-$(date)-installer.exe\r
 \r
-# Set up the version string for the installer.\r
-set Iversion r$(revision)\r
-ifneq "$(RELEASE)" "" set Iversion $(RELEASE)\r
-ifneq "$(date)" "" set Iversion $(date):r$(revision)\r
-\r
 in putty do ./mksrcarc.sh\r
 in putty do ./mkunxarc.sh $(Unxver)\r
 in putty do perl mkfiles.pl\r
 in putty do ./mksrcarc.sh\r
 in putty do ./mkunxarc.sh $(Unxver)\r
 in putty do perl mkfiles.pl\r
index bb293c2..bd0104b 100644 (file)
@@ -1,4 +1,4 @@
-\define{versionidplink} \versionid $Id: plink.but 9202 2011-07-12 18:26:18Z simon $\r
+\define{versionidplink} \versionid $Id: plink.but 9366 2011-12-10 12:08:09Z simon $\r
 \r
 \C{plink} Using the command-line connection tool \i{Plink}\r
 \r
 \r
 \C{plink} Using the command-line connection tool \i{Plink}\r
 \r
@@ -43,7 +43,7 @@ use Plink:
 \r
 \c Z:\sysosd>plink\r
 \c PuTTY Link: command-line connection utility\r
 \r
 \c Z:\sysosd>plink\r
 \c PuTTY Link: command-line connection utility\r
-\c Release 0.61\r
+\c Release 0.62\r
 \c Usage: plink [options] [user@]host [command]\r
 \c        ("host" can also be a PuTTY saved session name)\r
 \c Options:\r
 \c Usage: plink [options] [user@]host [command]\r
 \c        ("host" can also be a PuTTY saved session name)\r
 \c Options:\r
index 14064a9..9bf0089 100644 (file)
@@ -1,4 +1,4 @@
-\define{versionidpscp} \versionid $Id: pscp.but 9202 2011-07-12 18:26:18Z simon $\r
+\define{versionidpscp} \versionid $Id: pscp.but 9366 2011-12-10 12:08:09Z simon $\r
 \r
 \#FIXME: Need examples\r
 \r
 \r
 \#FIXME: Need examples\r
 \r
@@ -41,7 +41,7 @@ use PSCP:
 \r
 \c Z:\owendadmin>pscp\r
 \c PuTTY Secure Copy client\r
 \r
 \c Z:\owendadmin>pscp\r
 \c PuTTY Secure Copy client\r
-\c Release 0.61\r
+\c Release 0.62\r
 \c Usage: pscp [options] [user@]host:source target\r
 \c        pscp [options] source [source...] [user@]host:target\r
 \c        pscp [options] -ls [user@]host:filespec\r
 \c Usage: pscp [options] [user@]host:source target\r
 \c        pscp [options] source [source...] [user@]host:target\r
 \c        pscp [options] -ls [user@]host:filespec\r
index 8620f12..1771e0b 100644 (file)
@@ -174,7 +174,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnet.o uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o \\r
                uxsignal.o uxstore.o version.o wildcard.o x11fwd.o \r
 \r
                uxnet.o uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o \\r
                uxsignal.o uxstore.o version.o wildcard.o x11fwd.o \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -182,7 +182,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) $(ULDFLAGS) -o $@ be_none.o cmdline.o cproxy.o int64.o \\r
+       $(CC) $(ULDFLAGS) -o $@ be_ssh.o cmdline.o cproxy.o int64.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o pscp.o \\r
                settings.o sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o \\r
                sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o sshdss.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o pscp.o \\r
                settings.o sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o \\r
                sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o sshdss.o \\r
@@ -192,7 +192,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxproxy.o uxsel.o uxsftp.o uxstore.o version.o wildcard.o \\r
                x11fwd.o \r
 \r
                uxproxy.o uxsel.o uxsftp.o uxstore.o version.o wildcard.o \\r
                x11fwd.o \r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -200,7 +200,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) $(ULDFLAGS) -o $@ be_none.o cmdline.o cproxy.o int64.o \\r
+       $(CC) $(ULDFLAGS) -o $@ be_ssh.o cmdline.o cproxy.o int64.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o \\r
                psftp.o settings.o sftp.o ssh.o sshaes.o ssharcf.o \\r
                sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o \\r
                psftp.o settings.o sftp.o ssh.o sshaes.o ssharcf.o \\r
                sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o \\r
@@ -236,6 +236,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $<\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $<\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $<\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index 8047850..aed6728 100644 (file)
@@ -24,8 +24,17 @@ case "$1" in
     ver=\r
     docver=\r
     ;;\r
     ver=\r
     docver=\r
     ;;\r
+  *pre)\r
+    set -- "${1%pre}" "$2"\r
+    case "$1" in *[!.0-9a-z~]*) echo "Malformed prerelease ID '$1'">&2;exit 1;;esac\r
+    case "$2" in *[!.0-9a-z~]*) echo "Malformed prerelease revision '$1'">&2;exit 1;;esac\r
+    autoconfver="$1~pre$2"\r
+    arcsuffix="-$autoconfver"\r
+    ver="-DPRERELEASE=$1 -DSVN_REV=$2"\r
+    docver="VERSION=\"PuTTY prerelease $1:r$2\""\r
+    ;;\r
   *)\r
   *)\r
-    case "$1" in *[!.0-9a-z]*) echo "Malformed release ID '$1'">&2;exit 1;;esac\r
+    case "$1" in *[!.0-9a-z~]*) echo "Malformed release ID '$1'">&2;exit 1;;esac\r
     arcsuffix="-$1"\r
     ver="-DRELEASE=$1"\r
     docver="VERSION=\"PuTTY release $1\""\r
     arcsuffix="-$1"\r
     ver="-DRELEASE=$1"\r
     docver="VERSION=\"PuTTY release $1\""\r
index ce59a75..cfc7ac9 100644 (file)
@@ -289,7 +289,7 @@ LIBS     = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib
 # to proxy.c depending on whether we're crypto-avoidant or not.\r
 BE_ALL   = be_all cproxy\r
 BE_NOSSH = be_nossh nocproxy\r
 # to proxy.c depending on whether we're crypto-avoidant or not.\r
 BE_ALL   = be_all cproxy\r
 BE_NOSSH = be_nossh nocproxy\r
-BE_SSH   = be_none cproxy\r
+BE_SSH   = be_ssh cproxy\r
 BE_NONE  = be_none nocproxy\r
 # More backend sets, with the additional Windows serial-port module.\r
 W_BE_ALL = be_all_s winser cproxy\r
 BE_NONE  = be_none nocproxy\r
 # More backend sets, with the additional Windows serial-port module.\r
 W_BE_ALL = be_all_s winser cproxy\r
index b2f3ddc..9a62f7e 100644 (file)
@@ -303,11 +303,11 @@ static void wprefs(void *sesskey, char *name,
     for (maxlen = i = 0; i < nvals; i++) {\r
        const char *s = val2key(mapping, nvals, array[i]);\r
        if (s) {\r
     for (maxlen = i = 0; i < nvals; i++) {\r
        const char *s = val2key(mapping, nvals, array[i]);\r
        if (s) {\r
-            maxlen += 1 + strlen(s);\r
+            maxlen += (maxlen > 0 ? 1 : 0) + strlen(s);\r
         }\r
     }\r
 \r
         }\r
     }\r
 \r
-    buf = snewn(maxlen, char);\r
+    buf = snewn(maxlen + 1, char);\r
     p = buf;\r
 \r
     for (i = 0; i < nvals; i++) {\r
     p = buf;\r
 \r
     for (i = 0; i < nvals; i++) {\r
@@ -317,7 +317,8 @@ static void wprefs(void *sesskey, char *name,
        }\r
     }\r
 \r
        }\r
     }\r
 \r
-    assert(p - buf == maxlen - 1);     /* maxlen counted the NUL */\r
+    assert(p - buf == maxlen);\r
+    *p = '\0';\r
 \r
     write_setting_s(sesskey, name, buf);\r
 \r
 \r
     write_setting_s(sesskey, name, buf);\r
 \r
index 950af14..6b7eb8d 100644 (file)
@@ -7312,7 +7312,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                AUTH_TYPE_PUBLICKEY_OFFER_LOUD,\r
                AUTH_TYPE_PUBLICKEY_OFFER_QUIET,\r
                AUTH_TYPE_PASSWORD,\r
                AUTH_TYPE_PUBLICKEY_OFFER_LOUD,\r
                AUTH_TYPE_PUBLICKEY_OFFER_QUIET,\r
                AUTH_TYPE_PASSWORD,\r
-               AUTH_TYPE_GSSAPI,\r
+               AUTH_TYPE_GSSAPI,      /* always QUIET */\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE,\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET\r
        } type;\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE,\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET\r
        } type;\r
@@ -7675,19 +7675,20 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                    /*\r
                     * We have received an unequivocal Access\r
                     * Denied. This can translate to a variety of\r
                    /*\r
                     * We have received an unequivocal Access\r
                     * Denied. This can translate to a variety of\r
-                    * messages:\r
-                    * \r
-                    *  - if we'd just tried "none" authentication,\r
-                    *    it's not worth printing anything at all\r
-                    * \r
-                    *  - if we'd just tried a public key _offer_,\r
-                    *    the message should be "Server refused our\r
-                    *    key" (or no message at all if the key\r
-                    *    came from Pageant)\r
-                    * \r
-                    *  - if we'd just tried anything else, the\r
-                    *    message really should be "Access denied".\r
-                    * \r
+                    * messages, or no message at all.\r
+                     *\r
+                     * For forms of authentication which are attempted\r
+                     * implicitly, by which I mean without printing\r
+                     * anything in the window indicating that we're\r
+                     * trying them, we should never print 'Access\r
+                     * denied'.\r
+                     *\r
+                     * If we do print a message saying that we're\r
+                     * attempting some kind of authentication, it's OK\r
+                     * to print a followup message saying it failed -\r
+                     * but the message may sometimes be more specific\r
+                     * than simply 'Access denied'.\r
+                     *\r
                     * Additionally, if we'd just tried password\r
                     * authentication, we should break out of this\r
                     * whole loop so as to go back to the username\r
                     * Additionally, if we'd just tried password\r
                     * authentication, we should break out of this\r
                     * whole loop so as to go back to the username\r
@@ -7700,14 +7701,31 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                               s->type == AUTH_TYPE_PUBLICKEY_OFFER_QUIET) {\r
                        if (s->type == AUTH_TYPE_PUBLICKEY_OFFER_LOUD)\r
                            c_write_str(ssh, "Server refused our key\r\n");\r
                               s->type == AUTH_TYPE_PUBLICKEY_OFFER_QUIET) {\r
                        if (s->type == AUTH_TYPE_PUBLICKEY_OFFER_LOUD)\r
                            c_write_str(ssh, "Server refused our key\r\n");\r
-                       logevent("Server refused public key");\r
+                       logevent("Server refused our key");\r
+                    } else if (s->type == AUTH_TYPE_PUBLICKEY) {\r
+                        /* This _shouldn't_ happen except by a\r
+                         * protocol bug causing client and server to\r
+                         * disagree on what is a correct signature. */\r
+                        c_write_str(ssh, "Server refused public-key signature"\r
+                                    " despite accepting key!\r\n");\r
+                        logevent("Server refused public-key signature"\r
+                                 " despite accepting key!");\r
                    } else if (s->type==AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET) {\r
                    } else if (s->type==AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET) {\r
-                       /* server declined keyboard-interactive; ignore */\r
-                   } else {\r
+                        /* quiet, so no c_write */\r
+                        logevent("Server refused keyboard-interactive authentication");\r
+                   } else if (s->type==AUTH_TYPE_GSSAPI) {\r
+                       /* always quiet, so no c_write */\r
+                        /* also, the code down in the GSSAPI block has\r
+                         * already logged this in the Event Log */\r
+                   } else if (s->type == AUTH_TYPE_KEYBOARD_INTERACTIVE) {\r
+                        logevent("Keyboard-interactive authentication failed");\r
+                       c_write_str(ssh, "Access denied\r\n");\r
+                    } else {\r
+                        assert(s->type == AUTH_TYPE_PASSWORD);\r
+                        logevent("Password authentication failed");\r
                        c_write_str(ssh, "Access denied\r\n");\r
                        c_write_str(ssh, "Access denied\r\n");\r
-                       logevent("Access denied");\r
-                       if (s->type == AUTH_TYPE_PASSWORD &&\r
-                           ssh->cfg.change_username) {\r
+\r
+                       if (ssh->cfg.change_username) {\r
                            /* XXX perhaps we should allow\r
                             * keyboard-interactive to do this too? */\r
                            s->we_are_in = FALSE;\r
                            /* XXX perhaps we should allow\r
                             * keyboard-interactive to do this too? */\r
                            s->we_are_in = FALSE;\r
@@ -8056,6 +8074,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                    sfree(sigdata);\r
 \r
                    ssh2_pkt_send(ssh, s->pktout);\r
                    sfree(sigdata);\r
 \r
                    ssh2_pkt_send(ssh, s->pktout);\r
+                    logevent("Sent public key signature");\r
                    s->type = AUTH_TYPE_PUBLICKEY;\r
                    key->alg->freekey(key->data);\r
                }\r
                    s->type = AUTH_TYPE_PUBLICKEY;\r
                    key->alg->freekey(key->data);\r
                }\r
@@ -8107,6 +8126,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                ssh2_pkt_addstring(s->pktout, s->username);\r
                ssh2_pkt_addstring(s->pktout, "ssh-connection");\r
                ssh2_pkt_addstring(s->pktout, "gssapi-with-mic");\r
                ssh2_pkt_addstring(s->pktout, s->username);\r
                ssh2_pkt_addstring(s->pktout, "ssh-connection");\r
                ssh2_pkt_addstring(s->pktout, "gssapi-with-mic");\r
+                logevent("Attempting GSSAPI authentication");\r
 \r
                /* add mechanism info */\r
                s->gsslib->indicate_mech(s->gsslib, &s->gss_buf);\r
 \r
                /* add mechanism info */\r
                s->gsslib->indicate_mech(s->gsslib, &s->gss_buf);\r
@@ -8270,6 +8290,8 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                ssh2_pkt_addstring(s->pktout, "");      /* lang */\r
                ssh2_pkt_addstring(s->pktout, "");      /* submethods */\r
                ssh2_pkt_send(ssh, s->pktout);\r
                ssh2_pkt_addstring(s->pktout, "");      /* lang */\r
                ssh2_pkt_addstring(s->pktout, "");      /* submethods */\r
                ssh2_pkt_send(ssh, s->pktout);\r
+                \r
+                logevent("Attempting keyboard-interactive authentication");\r
 \r
                crWaitUntilV(pktin);\r
                if (pktin->type != SSH2_MSG_USERAUTH_INFO_REQUEST) {\r
 \r
                crWaitUntilV(pktin);\r
                if (pktin->type != SSH2_MSG_USERAUTH_INFO_REQUEST) {\r
@@ -8278,8 +8300,6 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                     * user without actually issuing any prompts).\r
                     * Give up on it entirely. */\r
                    s->gotit = TRUE;\r
                     * user without actually issuing any prompts).\r
                     * Give up on it entirely. */\r
                    s->gotit = TRUE;\r
-                   if (pktin->type == SSH2_MSG_USERAUTH_FAILURE)\r
-                       logevent("Keyboard-interactive authentication refused");\r
                    s->type = AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET;\r
                    s->kbd_inter_refused = TRUE; /* don't try it again */\r
                    continue;\r
                    s->type = AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET;\r
                    s->kbd_inter_refused = TRUE; /* don't try it again */\r
                    continue;\r
@@ -8391,6 +8411,13 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                    }\r
                    ssh2_pkt_send_with_padding(ssh, s->pktout, 256);\r
 \r
                    }\r
                    ssh2_pkt_send_with_padding(ssh, s->pktout, 256);\r
 \r
+                    /*\r
+                     * Free the prompts structure from this iteration.\r
+                     * If there's another, a new one will be allocated\r
+                     * when we return to the top of this while loop.\r
+                     */\r
+                    free_prompts(s->cur_prompt);\r
+\r
                    /*\r
                     * Get the next packet in case it's another\r
                     * INFO_REQUEST.\r
                    /*\r
                     * Get the next packet in case it's another\r
                     * INFO_REQUEST.\r
index baadad4..77ddfb1 100644 (file)
@@ -4940,7 +4940,9 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise)
            break_run = ((tattr ^ attr) & term->attr_mask) != 0;\r
 \r
            /* Special hack for VT100 Linedraw glyphs */\r
            break_run = ((tattr ^ attr) & term->attr_mask) != 0;\r
 \r
            /* Special hack for VT100 Linedraw glyphs */\r
-           if (tchar >= 0x23BA && tchar <= 0x23BD)\r
+           if ((tchar >= 0x23BA && tchar <= 0x23BD) ||\r
+                (j > 0 && (newline[j-1].chr >= 0x23BA &&\r
+                           newline[j-1].chr <= 0x23BD)))\r
                break_run = TRUE;\r
 \r
            /*\r
                break_run = TRUE;\r
 \r
            /*\r
index 4809191..480e052 100644 (file)
@@ -167,7 +167,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -175,7 +175,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -184,7 +184,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -192,7 +192,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -291,6 +291,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index 8893846..fc5d577 100644 (file)
@@ -146,7 +146,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -154,7 +154,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -163,7 +163,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -171,7 +171,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -270,6 +270,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index ac582b3..5b03b95 100644 (file)
@@ -148,7 +148,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -156,7 +156,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -165,7 +165,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -173,7 +173,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -208,6 +208,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index ece99fb..918a920 100644 (file)
@@ -23,6 +23,11 @@ char sshver[] = "PuTTY-Snapshot-" SNAPSHOT_TEXT;
 char ver[] = "Release " STR(RELEASE);\r
 char sshver[] = "PuTTY-Release-" STR(RELEASE);\r
 \r
 char ver[] = "Release " STR(RELEASE);\r
 char sshver[] = "PuTTY-Release-" STR(RELEASE);\r
 \r
+#elif defined PRERELEASE\r
+\r
+char ver[] = "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);\r
+char sshver[] = "PuTTY-Prerelease-" STR(PRERELEASE) ":r" STR(SVN_REV);\r
+\r
 #elif defined SVN_REV\r
 \r
 char ver[] = "Custom build r" STR(SVN_REV) ", " __DATE__ " " __TIME__;\r
 #elif defined SVN_REV\r
 \r
 char ver[] = "Custom build r" STR(SVN_REV) ", " __DATE__ " " __TIME__;\r
index 8ae4c6a..785f535 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
-FileName=..\..\..\be_none.c\r\r
+FileName=..\..\..\be_ssh.c\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
index a4ab2d3..d9608f6 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
-FileName=..\..\..\be_none.c\r\r
+FileName=..\..\..\be_ssh.c\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
index 0e6e1f6..edb5ee5 100644 (file)
@@ -150,7 +150,7 @@ plink.exe: be_all_s.obj cmdline.obj cproxy.obj ldisc.obj logging.obj \
                plink.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @plink.rsp\r
 \r
                plink.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @plink.rsp\r
 \r
-pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+pscp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -163,7 +163,7 @@ pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                wintime.obj x11fwd.obj pscp.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @pscp.rsp\r
 \r
                wintime.obj x11fwd.obj pscp.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @pscp.rsp\r
 \r
-psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+psftp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -246,7 +246,7 @@ plink.rsp: $(MAKEFILE)
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo c0x32 + > pscp.rsp\r
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo c0x32 + > pscp.rsp\r
-       echo be_none.obj cmdline.obj cproxy.obj int64.obj + >> pscp.rsp\r
+       echo be_ssh.obj cmdline.obj cproxy.obj int64.obj + >> pscp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> pscp.rsp\r
        echo portfwd.obj proxy.obj pscp.obj settings.obj + >> pscp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> pscp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> pscp.rsp\r
        echo portfwd.obj proxy.obj pscp.obj settings.obj + >> pscp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> pscp.rsp\r
@@ -265,7 +265,7 @@ pscp.rsp: $(MAKEFILE)
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo c0x32 + > psftp.rsp\r
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo c0x32 + > psftp.rsp\r
-       echo be_none.obj cmdline.obj cproxy.obj int64.obj + >> psftp.rsp\r
+       echo be_ssh.obj cmdline.obj cproxy.obj int64.obj + >> psftp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> psftp.rsp\r
        echo portfwd.obj proxy.obj psftp.obj settings.obj + >> psftp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> psftp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> psftp.rsp\r
        echo portfwd.obj proxy.obj psftp.obj settings.obj + >> psftp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> psftp.rsp\r
@@ -347,6 +347,10 @@ be_nos_s.obj: ..\be_nos_s.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
+be_ssh.obj: ..\be_ssh.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \\r
+               ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
+               ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
+               ..\charset\charset.h\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
index 9735a4e..18caabc 100644 (file)
@@ -166,7 +166,7 @@ plink.exe: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                -lcomctl32 -lcomdlg32 -lgdi32 -limm32 -lole32 -lshell32 \\r
                -luser32 -lwinmm -lwinspool\r
 \r
                -lcomctl32 -lcomdlg32 -lgdi32 -limm32 -lole32 -lshell32 \\r
                -luser32 -lwinmm -lwinspool\r
 \r
-pscp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp.exe: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o pscp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pinger.o portfwd.o proxy.o pscp.o pscp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -175,19 +175,19 @@ pscp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
-       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,pscp.map be_none.o cmdline.o \\r
-               cproxy.o int64.o logging.o misc.o pgssapi.o pinger.o \\r
-               portfwd.o proxy.o pscp.o pscp.res.o settings.o sftp.o ssh.o \\r
-               sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
-               sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
-               sshrand.o sshrsa.o sshsh256.o sshsh512.o sshsha.o sshzlib.o \\r
-               timing.o tree234.o version.o wildcard.o wincons.o windefs.o \\r
-               wingss.o winhandl.o winmisc.o winnet.o winnoise.o winnojmp.o \\r
+       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,pscp.map be_ssh.o cmdline.o cproxy.o \\r
+               int64.o logging.o misc.o pgssapi.o pinger.o portfwd.o \\r
+               proxy.o pscp.o pscp.res.o settings.o sftp.o ssh.o sshaes.o \\r
+               ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o \\r
+               sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o sshrand.o \\r
+               sshrsa.o sshsh256.o sshsh512.o sshsha.o sshzlib.o timing.o \\r
+               tree234.o version.o wildcard.o wincons.o windefs.o wingss.o \\r
+               winhandl.o winmisc.o winnet.o winnoise.o winnojmp.o \\r
                winpgntc.o winproxy.o winsftp.o winstore.o wintime.o \\r
                x11fwd.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -limm32 \\r
                -lole32 -lshell32 -luser32 -lwinmm -lwinspool\r
 \r
                winpgntc.o winproxy.o winsftp.o winstore.o wintime.o \\r
                x11fwd.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -limm32 \\r
                -lole32 -lshell32 -luser32 -lwinmm -lwinspool\r
 \r
-psftp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp.exe: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o psftp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pinger.o portfwd.o proxy.o psftp.o psftp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -196,7 +196,7 @@ psftp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
-       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,psftp.map be_none.o cmdline.o \\r
+       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,psftp.map be_ssh.o cmdline.o \\r
                cproxy.o int64.o logging.o misc.o pgssapi.o pinger.o \\r
                portfwd.o proxy.o psftp.o psftp.res.o settings.o sftp.o \\r
                ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                cproxy.o int64.o logging.o misc.o pgssapi.o pinger.o \\r
                portfwd.o proxy.o psftp.o psftp.res.o settings.o sftp.o \\r
                ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
@@ -286,6 +286,12 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
 \r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
 \r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
+\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index 74b5a2b..2f30ede 100644 (file)
@@ -155,7 +155,7 @@ plink.exe: be_all_s.obj cmdline.obj cproxy.obj ldisc.obj logging.obj \
                x11fwd.obj shell32.lib wsock32.lib ws2_32.lib winspool.lib \\r
                winmm.lib imm32.lib\r
 \r
                x11fwd.obj shell32.lib wsock32.lib ws2_32.lib winspool.lib \\r
                winmm.lib imm32.lib\r
 \r
-pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+pscp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -166,20 +166,20 @@ pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
-       lcclnk  -o pscp.exe be_none.obj cmdline.obj cproxy.obj int64.obj \\r
-               logging.obj misc.obj pgssapi.obj pinger.obj portfwd.obj \\r
-               proxy.obj pscp.obj pscp.res settings.obj sftp.obj ssh.obj \\r
-               sshaes.obj ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj \\r
-               sshcrcda.obj sshdes.obj sshdh.obj sshdss.obj sshgssc.obj \\r
-               sshmd5.obj sshpubk.obj sshrand.obj sshrsa.obj sshsh256.obj \\r
-               sshsh512.obj sshsha.obj sshzlib.obj timing.obj tree234.obj \\r
-               version.obj wildcard.obj wincons.obj windefs.obj wingss.obj \\r
-               winhandl.obj winmisc.obj winnet.obj winnoise.obj \\r
-               winnojmp.obj winpgntc.obj winproxy.obj winsftp.obj \\r
-               winstore.obj wintime.obj x11fwd.obj shell32.lib wsock32.lib \\r
-               ws2_32.lib winspool.lib winmm.lib imm32.lib\r
+       lcclnk  -o pscp.exe be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj \\r
+               misc.obj pgssapi.obj pinger.obj portfwd.obj proxy.obj \\r
+               pscp.obj pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
+               ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
+               sshdes.obj sshdh.obj sshdss.obj sshgssc.obj sshmd5.obj \\r
+               sshpubk.obj sshrand.obj sshrsa.obj sshsh256.obj sshsh512.obj \\r
+               sshsha.obj sshzlib.obj timing.obj tree234.obj version.obj \\r
+               wildcard.obj wincons.obj windefs.obj wingss.obj winhandl.obj \\r
+               winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
+               winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
+               wintime.obj x11fwd.obj shell32.lib wsock32.lib ws2_32.lib \\r
+               winspool.lib winmm.lib imm32.lib\r
 \r
 \r
-psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+psftp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -190,7 +190,7 @@ psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
-       lcclnk  -o psftp.exe be_none.obj cmdline.obj cproxy.obj int64.obj \\r
+       lcclnk  -o psftp.exe be_ssh.obj cmdline.obj cproxy.obj int64.obj \\r
                logging.obj misc.obj pgssapi.obj pinger.obj portfwd.obj \\r
                proxy.obj psftp.obj psftp.res settings.obj sftp.obj ssh.obj \\r
                sshaes.obj ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj \\r
                logging.obj misc.obj pgssapi.obj pinger.obj portfwd.obj \\r
                proxy.obj psftp.obj psftp.res settings.obj sftp.obj ssh.obj \\r
                sshaes.obj ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj \\r
@@ -286,6 +286,11 @@ be_nos_s.obj: ..\be_nos_s.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
        lcc -O -p6 $(COMPAT) $(CFLAGS) $(XFLAGS) ..\be_nos_s.c\r
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
        lcc -O -p6 $(COMPAT) $(CFLAGS) $(XFLAGS) ..\be_nos_s.c\r
+be_ssh.obj: ..\be_ssh.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \\r
+               ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
+               ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
+               ..\charset\charset.h\r
+       lcc -O -p6 $(COMPAT) $(CFLAGS) $(XFLAGS) ..\be_ssh.c\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
index 754b149..59c3c43 100644 (file)
@@ -139,7 +139,7 @@ plink.exe: be_all_s.obj cmdline.obj cproxy.obj ldisc.obj logging.obj \
                plink.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:plink.exe -map:plink.map @plink.rsp\r
 \r
                plink.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:plink.exe -map:plink.map @plink.rsp\r
 \r
-pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+pscp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -152,7 +152,7 @@ pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                wintime.obj x11fwd.obj pscp.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:pscp.exe -map:pscp.map @pscp.rsp\r
 \r
                wintime.obj x11fwd.obj pscp.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:pscp.exe -map:pscp.map @pscp.rsp\r
 \r
-psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+psftp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -235,7 +235,7 @@ plink.rsp: $(MAKEFILE)
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > pscp.rsp\r
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > pscp.rsp\r
-       echo advapi32.lib be_none.obj cmdline.obj comctl32.lib >> pscp.rsp\r
+       echo advapi32.lib be_ssh.obj cmdline.obj comctl32.lib >> pscp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> pscp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> pscp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> pscp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> pscp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> pscp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> pscp.rsp\r
@@ -254,7 +254,7 @@ pscp.rsp: $(MAKEFILE)
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > psftp.rsp\r
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > psftp.rsp\r
-       echo advapi32.lib be_none.obj cmdline.obj comctl32.lib >> psftp.rsp\r
+       echo advapi32.lib be_ssh.obj cmdline.obj comctl32.lib >> psftp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> psftp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> psftp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> psftp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> psftp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> psftp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> psftp.rsp\r
@@ -343,6 +343,12 @@ be_nos_s.obj: ..\be_nos_s.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \
                ..\charset\charset.h\r
        cl $(COMPAT) $(CFLAGS) $(XFLAGS) /c ..\be_nos_s.c\r
 \r
                ..\charset\charset.h\r
        cl $(COMPAT) $(CFLAGS) $(XFLAGS) /c ..\be_nos_s.c\r
 \r
+be_ssh.obj: ..\be_ssh.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \\r
+               ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
+               ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
+               ..\charset\charset.h\r
+       cl $(COMPAT) $(CFLAGS) $(XFLAGS) /c ..\be_ssh.c\r
+\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
index 763849b..ae52b8c 100644 (file)
@@ -94,7 +94,16 @@ LINK32=link.exe
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
-SOURCE=..\..\..\be_none.c\r
+SOURCE=..\..\..\be_ssh.c\r
+\r
+!IF  "$(CFG)" == "pscp - Win32 Release"\r
+\r
+!ELSEIF  "$(CFG)" == "pscp - Win32 Debug"\r
+\r
+# ADD CPP /Zi\r
+\r
+!ENDIF \r
+\r
 # End Source File\r
 # Begin Source File\r
 \r
 # End Source File\r
 # Begin Source File\r
 \r
index af4ce25..65d5bb7 100644 (file)
@@ -94,7 +94,16 @@ LINK32=link.exe
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
-SOURCE=..\..\..\be_none.c\r
+SOURCE=..\..\..\be_ssh.c\r
+\r
+!IF  "$(CFG)" == "psftp - Win32 Release"\r
+\r
+!ELSEIF  "$(CFG)" == "psftp - Win32 Debug"\r
+\r
+# ADD CPP /Zi\r
+\r
+!ENDIF \r
+\r
 # End Source File\r
 # Begin Source File\r
 \r
 # End Source File\r
 # Begin Source File\r
 \r
index fb979ca..3299c1f 100644 (file)
@@ -1,5 +1,5 @@
 ; -*- no -*-\r
 ; -*- no -*-\r
-; $Id: putty.iss 9202 2011-07-12 18:26:18Z simon $\r
+; $Id: putty.iss 9366 2011-12-10 12:08:09Z simon $\r
 ;\r
 ; -- Inno Setup installer script for PuTTY and its related tools.\r
 ;    Last tested with Inno Setup 5.0.8.\r
 ;\r
 ; -- Inno Setup installer script for PuTTY and its related tools.\r
 ;    Last tested with Inno Setup 5.0.8.\r
 \r
 [Setup]\r
 AppName=PuTTY\r
 \r
 [Setup]\r
 AppName=PuTTY\r
-AppVerName=PuTTY version 0.61\r
-VersionInfoTextVersion=Release 0.61\r
-AppVersion=0.61\r
-VersionInfoVersion=0.61.0.0\r
+AppVerName=PuTTY version 0.62\r
+VersionInfoTextVersion=Release 0.62\r
+AppVersion=0.62\r
+VersionInfoVersion=0.62.0.0\r
 AppPublisher=Simon Tatham\r
 AppPublisherURL=http://www.chiark.greenend.org.uk/~sgtatham/putty/\r
 AppReadmeFile={app}\README.txt\r
 AppPublisher=Simon Tatham\r
 AppPublisherURL=http://www.chiark.greenend.org.uk/~sgtatham/putty/\r
 AppReadmeFile={app}\README.txt\r
index 6a6e591..1c76927 100644 (file)
@@ -39,7 +39,7 @@
 \r
 /* We keep this around even for snapshots, for monotonicity of version\r
  * numbering. It needs to be kept up to date. NB _comma_-separated. */\r
 \r
 /* We keep this around even for snapshots, for monotonicity of version\r
  * numbering. It needs to be kept up to date. NB _comma_-separated. */\r
-#define BASE_VERSION 0,61\r
+#define BASE_VERSION 0,62\r
 \r
 #if defined SNAPSHOT\r
 \r
 \r
 #if defined SNAPSHOT\r
 \r
 #define VERSION_TEXT "Release " STR(RELEASE)\r
 #define BINARY_VERSION BASE_VERSION,0,0\r
 \r
 #define VERSION_TEXT "Release " STR(RELEASE)\r
 #define BINARY_VERSION BASE_VERSION,0,0\r
 \r
+#elif defined PRERELEASE\r
+\r
+#define VERSION_TEXT "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);\r
+#define BINARY_VERSION BASE_VERSION,SVN_REV,0\r
+\r
 #elif defined SVN_REV\r
 \r
 #define VERSION_TEXT "Custom build r" STR(SVN_REV)\r
 #elif defined SVN_REV\r
 \r
 #define VERSION_TEXT "Custom build r" STR(SVN_REV)\r
index cac7672..c533542 100644 (file)
@@ -3521,8 +3521,8 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len,
            dec = dec * 2 - font_height;\r
 \r
        oldpen = SelectObject(hdc, CreatePen(PS_SOLID, 0, fg));\r
            dec = dec * 2 - font_height;\r
 \r
        oldpen = SelectObject(hdc, CreatePen(PS_SOLID, 0, fg));\r
-       MoveToEx(hdc, x, y + dec, NULL);\r
-       LineTo(hdc, x + len * char_width, y + dec);\r
+       MoveToEx(hdc, line_box.left, line_box.top + dec, NULL);\r
+       LineTo(hdc, line_box.right, line_box.top + dec);\r
        oldpen = SelectObject(hdc, oldpen);\r
        DeleteObject(oldpen);\r
     }\r
        oldpen = SelectObject(hdc, oldpen);\r
        DeleteObject(oldpen);\r
     }\r
index bf920f1..ba55162 100644 (file)
@@ -1684,6 +1684,53 @@ static void update_sessions(void)
     }\r
 }\r
 \r
     }\r
 }\r
 \r
+#ifndef NO_SECURITY\r
+/*\r
+ * Versions of Pageant prior to 0.61 expected this SID on incoming\r
+ * communications. For backwards compatibility, and more particularly\r
+ * for compatibility with derived works of PuTTY still using the old\r
+ * Pageant client code, we accept it as an alternative to the one\r
+ * returned from get_user_sid() in winpgntc.c.\r
+ */\r
+PSID get_default_sid(void)\r
+{\r
+    HANDLE proc = NULL;\r
+    DWORD sidlen;\r
+    PSECURITY_DESCRIPTOR psd = NULL;\r
+    PSID sid = NULL, copy = NULL, ret = NULL;\r
+\r
+    if ((proc = OpenProcess(MAXIMUM_ALLOWED, FALSE,\r
+                            GetCurrentProcessId())) == NULL)\r
+        goto cleanup;\r
+\r
+    if (p_GetSecurityInfo(proc, SE_KERNEL_OBJECT, OWNER_SECURITY_INFORMATION,\r
+                          &sid, NULL, NULL, NULL, &psd) != ERROR_SUCCESS)\r
+        goto cleanup;\r
+\r
+    sidlen = GetLengthSid(sid);\r
+\r
+    copy = (PSID)smalloc(sidlen);\r
+\r
+    if (!CopySid(sidlen, copy, sid))\r
+        goto cleanup;\r
+\r
+    /* Success. Move sid into the return value slot, and null it out\r
+     * to stop the cleanup code freeing it. */\r
+    ret = copy;\r
+    copy = NULL;\r
+\r
+  cleanup:\r
+    if (proc != NULL)\r
+        CloseHandle(proc);\r
+    if (psd != NULL)\r
+        LocalFree(psd);\r
+    if (copy != NULL)\r
+        sfree(copy);\r
+\r
+    return ret;\r
+}\r
+#endif\r
+\r
 static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,\r
                                WPARAM wParam, LPARAM lParam)\r
 {\r
 static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,\r
                                WPARAM wParam, LPARAM lParam)\r
 {\r
@@ -1821,9 +1868,9 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
            void *p;\r
            HANDLE filemap;\r
 #ifndef NO_SECURITY\r
            void *p;\r
            HANDLE filemap;\r
 #ifndef NO_SECURITY\r
-           PSID mapowner, ourself;\r
-           PSECURITY_DESCRIPTOR psd1 = NULL, psd2 = NULL;\r
+           PSID mapowner, ourself, ourself2;\r
 #endif\r
 #endif\r
+            PSECURITY_DESCRIPTOR psd = NULL;\r
            int ret = 0;\r
 \r
            cds = (COPYDATASTRUCT *) lParam;\r
            int ret = 0;\r
 \r
            cds = (COPYDATASTRUCT *) lParam;\r
@@ -1850,10 +1897,17 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                        return 0;\r
                     }\r
 \r
                        return 0;\r
                     }\r
 \r
+                    if ((ourself2 = get_default_sid()) == NULL) {\r
+#ifdef DEBUG_IPC\r
+                       debug(("couldn't get default SID\n"));\r
+#endif\r
+                       return 0;\r
+                    }\r
+\r
                    if ((rc = p_GetSecurityInfo(filemap, SE_KERNEL_OBJECT,\r
                                                OWNER_SECURITY_INFORMATION,\r
                                                &mapowner, NULL, NULL, NULL,\r
                    if ((rc = p_GetSecurityInfo(filemap, SE_KERNEL_OBJECT,\r
                                                OWNER_SECURITY_INFORMATION,\r
                                                &mapowner, NULL, NULL, NULL,\r
-                                               &psd1) != ERROR_SUCCESS)) {\r
+                                               &psd) != ERROR_SUCCESS)) {\r
 #ifdef DEBUG_IPC\r
                        debug(("couldn't get owner info for filemap: %d\n",\r
                                rc));\r
 #ifdef DEBUG_IPC\r
                        debug(("couldn't get owner info for filemap: %d\n",\r
                                rc));\r
@@ -1862,22 +1916,28 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                    }\r
 #ifdef DEBUG_IPC\r
                     {\r
                    }\r
 #ifdef DEBUG_IPC\r
                     {\r
-                        LPTSTR ours, theirs;\r
+                        LPTSTR ours, ours2, theirs;\r
                         ConvertSidToStringSid(mapowner, &theirs);\r
                         ConvertSidToStringSid(ourself, &ours);\r
                         ConvertSidToStringSid(mapowner, &theirs);\r
                         ConvertSidToStringSid(ourself, &ours);\r
-                        debug(("got both sids: ours=%s theirs=%s\n",\r
-                               ours, theirs));\r
+                        ConvertSidToStringSid(ourself2, &ours2);\r
+                        debug(("got sids:\n  oursnew=%s\n  oursold=%s\n"\r
+                               "  theirs=%s\n", ours, ours2, theirs));\r
                         LocalFree(ours);\r
                         LocalFree(ours);\r
+                        LocalFree(ours2);\r
                         LocalFree(theirs);\r
                     }\r
 #endif\r
                         LocalFree(theirs);\r
                     }\r
 #endif\r
-                   if (!EqualSid(mapowner, ourself))\r
+                   if (!EqualSid(mapowner, ourself) &&\r
+                        !EqualSid(mapowner, ourself2)) {\r
+                        CloseHandle(filemap);\r
                        return 0;      /* security ID mismatch! */\r
                        return 0;      /* security ID mismatch! */\r
+                    }\r
 #ifdef DEBUG_IPC\r
                    debug(("security stuff matched\n"));\r
 #endif\r
 #ifdef DEBUG_IPC\r
                    debug(("security stuff matched\n"));\r
 #endif\r
-                   LocalFree(psd1);\r
-                   LocalFree(psd2);\r
+                    LocalFree(psd);\r
+                    sfree(ourself);\r
+                    sfree(ourself2);\r
                } else {\r
 #ifdef DEBUG_IPC\r
                    debug(("security APIs not present\n"));\r
                } else {\r
 #ifdef DEBUG_IPC\r
                    debug(("security APIs not present\n"));\r
index 95ddbd5..2f8297b 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
  * Linking module for programs that do not support selection of backend\r
 /*\r
  * Linking module for programs that do not support selection of backend\r
- * (such as pscp or pterm).\r
+ * (such as pterm).\r
  */\r
 \r
 #include <stdio.h>\r
  */\r
 \r
 #include <stdio.h>\r
diff --git a/putty/BE_SSH.C b/putty/BE_SSH.C
new file mode 100644 (file)
index 0000000..a92f1a5
--- /dev/null
@@ -0,0 +1,16 @@
+/*\r
+ * Linking module for programs that are restricted to only using SSH\r
+ * (pscp and psftp). These do not support selection of backend, but\r
+ * must still have a backends[] array mentioning SSH because\r
+ * settings.c will want to consult it during session load.\r
+ */\r
+\r
+#include <stdio.h>\r
+#include "putty.h"\r
+\r
+const int be_default_protocol = PROT_SSH;\r
+\r
+Backend *backends[] = {\r
+    &ssh_backend,\r
+    NULL\r
+};\r
index 131a734..d583934 100644 (file)
@@ -7,6 +7,7 @@ module putty
 set Makever -DSVN_REV=$(revision)\r
 ifneq "$(!numeric $(revision))" "yes" set Makever $(Makever) -DMODIFIED\r
 ifneq "$(RELEASE)" "" set Makever $(Makever) -DRELEASE=$(RELEASE)\r
 set Makever -DSVN_REV=$(revision)\r
 ifneq "$(!numeric $(revision))" "yes" set Makever $(Makever) -DMODIFIED\r
 ifneq "$(RELEASE)" "" set Makever $(Makever) -DRELEASE=$(RELEASE)\r
+ifneq "$(PRERELEASE)" "" set Makever $(Makever) -DPRERELEASE=$(PRERELEASE)\r
 ifneq "$(date)" "" set Makever $(Makever) -DSNAPSHOT=$(date)\r
 set Makeargs VER="$(Makever)"\r
 ifneq "$(XFLAGS)" "" set Makeargs $(Makeargs) XFLAGS="$(XFLAGS)"\r
 ifneq "$(date)" "" set Makever $(Makever) -DSNAPSHOT=$(date)\r
 set Makeargs VER="$(Makever)"\r
 ifneq "$(XFLAGS)" "" set Makeargs $(Makeargs) XFLAGS="$(XFLAGS)"\r
@@ -15,11 +16,13 @@ ifneq "$(MAKEARGS)" "" set Makeargs $(Makeargs) $(MAKEARGS)
 # Set up the version string for the docs build.\r
 set Docmakeargs VERSION="PuTTY revision $(revision)"\r
 ifneq "$(RELEASE)" "" set Docmakeargs VERSION="PuTTY release $(RELEASE)"\r
 # Set up the version string for the docs build.\r
 set Docmakeargs VERSION="PuTTY revision $(revision)"\r
 ifneq "$(RELEASE)" "" set Docmakeargs VERSION="PuTTY release $(RELEASE)"\r
+ifneq "$(PRERELEASE)" "" set Docmakeargs VERSION="PuTTY pre-release $(PRERELEASE):r$(revision)"\r
 ifneq "$(date)" "" set Docmakeargs VERSION="PuTTY development snapshot $(date)"\r
 \r
 # Set up the version string for the Unix source archive.\r
 set Unxver r$(revision)\r
 ifneq "$(RELEASE)" "" set Unxver $(RELEASE)\r
 ifneq "$(date)" "" set Docmakeargs VERSION="PuTTY development snapshot $(date)"\r
 \r
 # Set up the version string for the Unix source archive.\r
 set Unxver r$(revision)\r
 ifneq "$(RELEASE)" "" set Unxver $(RELEASE)\r
+ifneq "$(PRERELEASE)" "" set Unxver $(PRERELEASE)pre $(revision)\r
 ifneq "$(date)" "" set Unxver $(date)\r
 \r
 # Set up the various version strings for the installer.\r
 ifneq "$(date)" "" set Unxver $(date)\r
 \r
 # Set up the various version strings for the installer.\r
@@ -33,16 +36,15 @@ ifneq "$(RELEASE)" "" set Iname PuTTY version $(RELEASE)
 ifneq "$(RELEASE)" "" set Ivertext Release $(RELEASE)\r
 ifneq "$(RELEASE)" "" set Irev 0\r
 ifneq "$(RELEASE)" "" set Ifilename putty-$(RELEASE)-installer.exe\r
 ifneq "$(RELEASE)" "" set Ivertext Release $(RELEASE)\r
 ifneq "$(RELEASE)" "" set Irev 0\r
 ifneq "$(RELEASE)" "" set Ifilename putty-$(RELEASE)-installer.exe\r
+ifneq "$(PRERELEASE)" "" set Iversion $(PRERELEASE):r$(revision)\r
+ifneq "$(PRERELEASE)" "" set Iname PuTTY pre-release $(PRERELEASE):r$(revision)\r
+ifneq "$(PRERELEASE)" "" set Ivertext Pre-release $(PRERELEASE):r$(revision)\r
+ifneq "$(PRERELEASE)" "" set Ifilename putty-$(PRERELEASE)-pre$(revision)-installer.exe\r
 ifneq "$(date)" "" set Iversion $(date):r$(revision)\r
 ifneq "$(date)" "" set Iname PuTTY development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ivertext Development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ifilename putty-$(date)-installer.exe\r
 \r
 ifneq "$(date)" "" set Iversion $(date):r$(revision)\r
 ifneq "$(date)" "" set Iname PuTTY development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ivertext Development snapshot $(date):r$(revision)\r
 ifneq "$(date)" "" set Ifilename putty-$(date)-installer.exe\r
 \r
-# Set up the version string for the installer.\r
-set Iversion r$(revision)\r
-ifneq "$(RELEASE)" "" set Iversion $(RELEASE)\r
-ifneq "$(date)" "" set Iversion $(date):r$(revision)\r
-\r
 in putty do ./mksrcarc.sh\r
 in putty do ./mkunxarc.sh $(Unxver)\r
 in putty do perl mkfiles.pl\r
 in putty do ./mksrcarc.sh\r
 in putty do ./mkunxarc.sh $(Unxver)\r
 in putty do perl mkfiles.pl\r
index bb293c2..bd0104b 100644 (file)
@@ -1,4 +1,4 @@
-\define{versionidplink} \versionid $Id: plink.but 9202 2011-07-12 18:26:18Z simon $\r
+\define{versionidplink} \versionid $Id: plink.but 9366 2011-12-10 12:08:09Z simon $\r
 \r
 \C{plink} Using the command-line connection tool \i{Plink}\r
 \r
 \r
 \C{plink} Using the command-line connection tool \i{Plink}\r
 \r
@@ -43,7 +43,7 @@ use Plink:
 \r
 \c Z:\sysosd>plink\r
 \c PuTTY Link: command-line connection utility\r
 \r
 \c Z:\sysosd>plink\r
 \c PuTTY Link: command-line connection utility\r
-\c Release 0.61\r
+\c Release 0.62\r
 \c Usage: plink [options] [user@]host [command]\r
 \c        ("host" can also be a PuTTY saved session name)\r
 \c Options:\r
 \c Usage: plink [options] [user@]host [command]\r
 \c        ("host" can also be a PuTTY saved session name)\r
 \c Options:\r
index 14064a9..9bf0089 100644 (file)
@@ -1,4 +1,4 @@
-\define{versionidpscp} \versionid $Id: pscp.but 9202 2011-07-12 18:26:18Z simon $\r
+\define{versionidpscp} \versionid $Id: pscp.but 9366 2011-12-10 12:08:09Z simon $\r
 \r
 \#FIXME: Need examples\r
 \r
 \r
 \#FIXME: Need examples\r
 \r
@@ -41,7 +41,7 @@ use PSCP:
 \r
 \c Z:\owendadmin>pscp\r
 \c PuTTY Secure Copy client\r
 \r
 \c Z:\owendadmin>pscp\r
 \c PuTTY Secure Copy client\r
-\c Release 0.61\r
+\c Release 0.62\r
 \c Usage: pscp [options] [user@]host:source target\r
 \c        pscp [options] source [source...] [user@]host:target\r
 \c        pscp [options] -ls [user@]host:filespec\r
 \c Usage: pscp [options] [user@]host:source target\r
 \c        pscp [options] source [source...] [user@]host:target\r
 \c        pscp [options] -ls [user@]host:filespec\r
index 8620f12..1771e0b 100644 (file)
@@ -174,7 +174,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnet.o uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o \\r
                uxsignal.o uxstore.o version.o wildcard.o x11fwd.o \r
 \r
                uxnet.o uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o \\r
                uxsignal.o uxstore.o version.o wildcard.o x11fwd.o \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -182,7 +182,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) $(ULDFLAGS) -o $@ be_none.o cmdline.o cproxy.o int64.o \\r
+       $(CC) $(ULDFLAGS) -o $@ be_ssh.o cmdline.o cproxy.o int64.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o pscp.o \\r
                settings.o sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o \\r
                sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o sshdss.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o pscp.o \\r
                settings.o sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o \\r
                sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o sshdss.o \\r
@@ -192,7 +192,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxproxy.o uxsel.o uxsftp.o uxstore.o version.o wildcard.o \\r
                x11fwd.o \r
 \r
                uxproxy.o uxsel.o uxsftp.o uxstore.o version.o wildcard.o \\r
                x11fwd.o \r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -200,7 +200,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) $(ULDFLAGS) -o $@ be_none.o cmdline.o cproxy.o int64.o \\r
+       $(CC) $(ULDFLAGS) -o $@ be_ssh.o cmdline.o cproxy.o int64.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o \\r
                psftp.o settings.o sftp.o ssh.o sshaes.o ssharcf.o \\r
                sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o \\r
                logging.o misc.o pgssapi.o pinger.o portfwd.o proxy.o \\r
                psftp.o settings.o sftp.o ssh.o sshaes.o ssharcf.o \\r
                sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o sshdh.o \\r
@@ -236,6 +236,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $<\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $<\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(FWHACK) $(CFLAGS) $(XFLAGS) -c $<\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index 8047850..aed6728 100644 (file)
@@ -24,8 +24,17 @@ case "$1" in
     ver=\r
     docver=\r
     ;;\r
     ver=\r
     docver=\r
     ;;\r
+  *pre)\r
+    set -- "${1%pre}" "$2"\r
+    case "$1" in *[!.0-9a-z~]*) echo "Malformed prerelease ID '$1'">&2;exit 1;;esac\r
+    case "$2" in *[!.0-9a-z~]*) echo "Malformed prerelease revision '$1'">&2;exit 1;;esac\r
+    autoconfver="$1~pre$2"\r
+    arcsuffix="-$autoconfver"\r
+    ver="-DPRERELEASE=$1 -DSVN_REV=$2"\r
+    docver="VERSION=\"PuTTY prerelease $1:r$2\""\r
+    ;;\r
   *)\r
   *)\r
-    case "$1" in *[!.0-9a-z]*) echo "Malformed release ID '$1'">&2;exit 1;;esac\r
+    case "$1" in *[!.0-9a-z~]*) echo "Malformed release ID '$1'">&2;exit 1;;esac\r
     arcsuffix="-$1"\r
     ver="-DRELEASE=$1"\r
     docver="VERSION=\"PuTTY release $1\""\r
     arcsuffix="-$1"\r
     ver="-DRELEASE=$1"\r
     docver="VERSION=\"PuTTY release $1\""\r
index ce59a75..cfc7ac9 100644 (file)
@@ -289,7 +289,7 @@ LIBS     = advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib
 # to proxy.c depending on whether we're crypto-avoidant or not.\r
 BE_ALL   = be_all cproxy\r
 BE_NOSSH = be_nossh nocproxy\r
 # to proxy.c depending on whether we're crypto-avoidant or not.\r
 BE_ALL   = be_all cproxy\r
 BE_NOSSH = be_nossh nocproxy\r
-BE_SSH   = be_none cproxy\r
+BE_SSH   = be_ssh cproxy\r
 BE_NONE  = be_none nocproxy\r
 # More backend sets, with the additional Windows serial-port module.\r
 W_BE_ALL = be_all_s winser cproxy\r
 BE_NONE  = be_none nocproxy\r
 # More backend sets, with the additional Windows serial-port module.\r
 W_BE_ALL = be_all_s winser cproxy\r
index e2d4288..b918a76 100644 (file)
Binary files a/putty/Release/PuTTY.dll and b/putty/Release/PuTTY.dll differ
index b2f3ddc..9a62f7e 100644 (file)
@@ -303,11 +303,11 @@ static void wprefs(void *sesskey, char *name,
     for (maxlen = i = 0; i < nvals; i++) {\r
        const char *s = val2key(mapping, nvals, array[i]);\r
        if (s) {\r
     for (maxlen = i = 0; i < nvals; i++) {\r
        const char *s = val2key(mapping, nvals, array[i]);\r
        if (s) {\r
-            maxlen += 1 + strlen(s);\r
+            maxlen += (maxlen > 0 ? 1 : 0) + strlen(s);\r
         }\r
     }\r
 \r
         }\r
     }\r
 \r
-    buf = snewn(maxlen, char);\r
+    buf = snewn(maxlen + 1, char);\r
     p = buf;\r
 \r
     for (i = 0; i < nvals; i++) {\r
     p = buf;\r
 \r
     for (i = 0; i < nvals; i++) {\r
@@ -317,7 +317,8 @@ static void wprefs(void *sesskey, char *name,
        }\r
     }\r
 \r
        }\r
     }\r
 \r
-    assert(p - buf == maxlen - 1);     /* maxlen counted the NUL */\r
+    assert(p - buf == maxlen);\r
+    *p = '\0';\r
 \r
     write_setting_s(sesskey, name, buf);\r
 \r
 \r
     write_setting_s(sesskey, name, buf);\r
 \r
index 950af14..6b7eb8d 100644 (file)
@@ -7312,7 +7312,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                AUTH_TYPE_PUBLICKEY_OFFER_LOUD,\r
                AUTH_TYPE_PUBLICKEY_OFFER_QUIET,\r
                AUTH_TYPE_PASSWORD,\r
                AUTH_TYPE_PUBLICKEY_OFFER_LOUD,\r
                AUTH_TYPE_PUBLICKEY_OFFER_QUIET,\r
                AUTH_TYPE_PASSWORD,\r
-               AUTH_TYPE_GSSAPI,\r
+               AUTH_TYPE_GSSAPI,      /* always QUIET */\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE,\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET\r
        } type;\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE,\r
                AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET\r
        } type;\r
@@ -7675,19 +7675,20 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                    /*\r
                     * We have received an unequivocal Access\r
                     * Denied. This can translate to a variety of\r
                    /*\r
                     * We have received an unequivocal Access\r
                     * Denied. This can translate to a variety of\r
-                    * messages:\r
-                    * \r
-                    *  - if we'd just tried "none" authentication,\r
-                    *    it's not worth printing anything at all\r
-                    * \r
-                    *  - if we'd just tried a public key _offer_,\r
-                    *    the message should be "Server refused our\r
-                    *    key" (or no message at all if the key\r
-                    *    came from Pageant)\r
-                    * \r
-                    *  - if we'd just tried anything else, the\r
-                    *    message really should be "Access denied".\r
-                    * \r
+                    * messages, or no message at all.\r
+                     *\r
+                     * For forms of authentication which are attempted\r
+                     * implicitly, by which I mean without printing\r
+                     * anything in the window indicating that we're\r
+                     * trying them, we should never print 'Access\r
+                     * denied'.\r
+                     *\r
+                     * If we do print a message saying that we're\r
+                     * attempting some kind of authentication, it's OK\r
+                     * to print a followup message saying it failed -\r
+                     * but the message may sometimes be more specific\r
+                     * than simply 'Access denied'.\r
+                     *\r
                     * Additionally, if we'd just tried password\r
                     * authentication, we should break out of this\r
                     * whole loop so as to go back to the username\r
                     * Additionally, if we'd just tried password\r
                     * authentication, we should break out of this\r
                     * whole loop so as to go back to the username\r
@@ -7700,14 +7701,31 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                               s->type == AUTH_TYPE_PUBLICKEY_OFFER_QUIET) {\r
                        if (s->type == AUTH_TYPE_PUBLICKEY_OFFER_LOUD)\r
                            c_write_str(ssh, "Server refused our key\r\n");\r
                               s->type == AUTH_TYPE_PUBLICKEY_OFFER_QUIET) {\r
                        if (s->type == AUTH_TYPE_PUBLICKEY_OFFER_LOUD)\r
                            c_write_str(ssh, "Server refused our key\r\n");\r
-                       logevent("Server refused public key");\r
+                       logevent("Server refused our key");\r
+                    } else if (s->type == AUTH_TYPE_PUBLICKEY) {\r
+                        /* This _shouldn't_ happen except by a\r
+                         * protocol bug causing client and server to\r
+                         * disagree on what is a correct signature. */\r
+                        c_write_str(ssh, "Server refused public-key signature"\r
+                                    " despite accepting key!\r\n");\r
+                        logevent("Server refused public-key signature"\r
+                                 " despite accepting key!");\r
                    } else if (s->type==AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET) {\r
                    } else if (s->type==AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET) {\r
-                       /* server declined keyboard-interactive; ignore */\r
-                   } else {\r
+                        /* quiet, so no c_write */\r
+                        logevent("Server refused keyboard-interactive authentication");\r
+                   } else if (s->type==AUTH_TYPE_GSSAPI) {\r
+                       /* always quiet, so no c_write */\r
+                        /* also, the code down in the GSSAPI block has\r
+                         * already logged this in the Event Log */\r
+                   } else if (s->type == AUTH_TYPE_KEYBOARD_INTERACTIVE) {\r
+                        logevent("Keyboard-interactive authentication failed");\r
+                       c_write_str(ssh, "Access denied\r\n");\r
+                    } else {\r
+                        assert(s->type == AUTH_TYPE_PASSWORD);\r
+                        logevent("Password authentication failed");\r
                        c_write_str(ssh, "Access denied\r\n");\r
                        c_write_str(ssh, "Access denied\r\n");\r
-                       logevent("Access denied");\r
-                       if (s->type == AUTH_TYPE_PASSWORD &&\r
-                           ssh->cfg.change_username) {\r
+\r
+                       if (ssh->cfg.change_username) {\r
                            /* XXX perhaps we should allow\r
                             * keyboard-interactive to do this too? */\r
                            s->we_are_in = FALSE;\r
                            /* XXX perhaps we should allow\r
                             * keyboard-interactive to do this too? */\r
                            s->we_are_in = FALSE;\r
@@ -8056,6 +8074,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                    sfree(sigdata);\r
 \r
                    ssh2_pkt_send(ssh, s->pktout);\r
                    sfree(sigdata);\r
 \r
                    ssh2_pkt_send(ssh, s->pktout);\r
+                    logevent("Sent public key signature");\r
                    s->type = AUTH_TYPE_PUBLICKEY;\r
                    key->alg->freekey(key->data);\r
                }\r
                    s->type = AUTH_TYPE_PUBLICKEY;\r
                    key->alg->freekey(key->data);\r
                }\r
@@ -8107,6 +8126,7 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                ssh2_pkt_addstring(s->pktout, s->username);\r
                ssh2_pkt_addstring(s->pktout, "ssh-connection");\r
                ssh2_pkt_addstring(s->pktout, "gssapi-with-mic");\r
                ssh2_pkt_addstring(s->pktout, s->username);\r
                ssh2_pkt_addstring(s->pktout, "ssh-connection");\r
                ssh2_pkt_addstring(s->pktout, "gssapi-with-mic");\r
+                logevent("Attempting GSSAPI authentication");\r
 \r
                /* add mechanism info */\r
                s->gsslib->indicate_mech(s->gsslib, &s->gss_buf);\r
 \r
                /* add mechanism info */\r
                s->gsslib->indicate_mech(s->gsslib, &s->gss_buf);\r
@@ -8270,6 +8290,8 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                ssh2_pkt_addstring(s->pktout, "");      /* lang */\r
                ssh2_pkt_addstring(s->pktout, "");      /* submethods */\r
                ssh2_pkt_send(ssh, s->pktout);\r
                ssh2_pkt_addstring(s->pktout, "");      /* lang */\r
                ssh2_pkt_addstring(s->pktout, "");      /* submethods */\r
                ssh2_pkt_send(ssh, s->pktout);\r
+                \r
+                logevent("Attempting keyboard-interactive authentication");\r
 \r
                crWaitUntilV(pktin);\r
                if (pktin->type != SSH2_MSG_USERAUTH_INFO_REQUEST) {\r
 \r
                crWaitUntilV(pktin);\r
                if (pktin->type != SSH2_MSG_USERAUTH_INFO_REQUEST) {\r
@@ -8278,8 +8300,6 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                     * user without actually issuing any prompts).\r
                     * Give up on it entirely. */\r
                    s->gotit = TRUE;\r
                     * user without actually issuing any prompts).\r
                     * Give up on it entirely. */\r
                    s->gotit = TRUE;\r
-                   if (pktin->type == SSH2_MSG_USERAUTH_FAILURE)\r
-                       logevent("Keyboard-interactive authentication refused");\r
                    s->type = AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET;\r
                    s->kbd_inter_refused = TRUE; /* don't try it again */\r
                    continue;\r
                    s->type = AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET;\r
                    s->kbd_inter_refused = TRUE; /* don't try it again */\r
                    continue;\r
@@ -8391,6 +8411,13 @@ static void do_ssh2_authconn(Ssh ssh, unsigned char *in, int inlen,
                    }\r
                    ssh2_pkt_send_with_padding(ssh, s->pktout, 256);\r
 \r
                    }\r
                    ssh2_pkt_send_with_padding(ssh, s->pktout, 256);\r
 \r
+                    /*\r
+                     * Free the prompts structure from this iteration.\r
+                     * If there's another, a new one will be allocated\r
+                     * when we return to the top of this while loop.\r
+                     */\r
+                    free_prompts(s->cur_prompt);\r
+\r
                    /*\r
                     * Get the next packet in case it's another\r
                     * INFO_REQUEST.\r
                    /*\r
                     * Get the next packet in case it's another\r
                     * INFO_REQUEST.\r
index baadad4..77ddfb1 100644 (file)
@@ -4940,7 +4940,9 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise)
            break_run = ((tattr ^ attr) & term->attr_mask) != 0;\r
 \r
            /* Special hack for VT100 Linedraw glyphs */\r
            break_run = ((tattr ^ attr) & term->attr_mask) != 0;\r
 \r
            /* Special hack for VT100 Linedraw glyphs */\r
-           if (tchar >= 0x23BA && tchar <= 0x23BD)\r
+           if ((tchar >= 0x23BA && tchar <= 0x23BD) ||\r
+                (j > 0 && (newline[j-1].chr >= 0x23BA &&\r
+                           newline[j-1].chr <= 0x23BD)))\r
                break_run = TRUE;\r
 \r
            /*\r
                break_run = TRUE;\r
 \r
            /*\r
index 4809191..480e052 100644 (file)
@@ -167,7 +167,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -175,7 +175,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -184,7 +184,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -192,7 +192,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -291,6 +291,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index 8893846..fc5d577 100644 (file)
@@ -146,7 +146,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -154,7 +154,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -163,7 +163,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -171,7 +171,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -270,6 +270,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index ac582b3..5b03b95 100644 (file)
@@ -148,7 +148,7 @@ plink: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
                uxnoise.o uxplink.o uxproxy.o uxsel.o uxser.o uxsignal.o \\r
                uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS) \r
 \r
-pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o pscp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -156,7 +156,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o pscp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -165,7 +165,7 @@ pscp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
                uxgss.o uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o \\r
                uxsftp.o uxstore.o version.o wildcard.o x11fwd.o $(ULDFLAGS)\r
 \r
-psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
                pinger.o portfwd.o proxy.o psftp.o settings.o sftp.o ssh.o \\r
                sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
                sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
@@ -173,7 +173,7 @@ psftp: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
                time.o timing.o tree234.o uxagentc.o uxcons.o uxgss.o \\r
                uxmisc.o uxnet.o uxnoise.o uxproxy.o uxsel.o uxsftp.o \\r
                uxstore.o version.o wildcard.o x11fwd.o\r
-       $(CC) -o $@ be_none.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
+       $(CC) -o $@ be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pgssapi.o pinger.o portfwd.o proxy.o psftp.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -208,6 +208,11 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
                ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index ece99fb..918a920 100644 (file)
@@ -23,6 +23,11 @@ char sshver[] = "PuTTY-Snapshot-" SNAPSHOT_TEXT;
 char ver[] = "Release " STR(RELEASE);\r
 char sshver[] = "PuTTY-Release-" STR(RELEASE);\r
 \r
 char ver[] = "Release " STR(RELEASE);\r
 char sshver[] = "PuTTY-Release-" STR(RELEASE);\r
 \r
+#elif defined PRERELEASE\r
+\r
+char ver[] = "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);\r
+char sshver[] = "PuTTY-Prerelease-" STR(PRERELEASE) ":r" STR(SVN_REV);\r
+\r
 #elif defined SVN_REV\r
 \r
 char ver[] = "Custom build r" STR(SVN_REV) ", " __DATE__ " " __TIME__;\r
 #elif defined SVN_REV\r
 \r
 char ver[] = "Custom build r" STR(SVN_REV) ", " __DATE__ " " __TIME__;\r
index 8ae4c6a..785f535 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
-FileName=..\..\..\be_none.c\r\r
+FileName=..\..\..\be_ssh.c\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
index a4ab2d3..d9608f6 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
 CompilerSettings=0000000000000000000000\r\r
 \r\r
 [Unit1]\r\r
-FileName=..\..\..\be_none.c\r\r
+FileName=..\..\..\be_ssh.c\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
 Folder=Source Files\r\r
 Compile=1\r\r
 CompileCpp=0\r\r
index 0e6e1f6..edb5ee5 100644 (file)
@@ -150,7 +150,7 @@ plink.exe: be_all_s.obj cmdline.obj cproxy.obj ldisc.obj logging.obj \
                plink.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @plink.rsp\r
 \r
                plink.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @plink.rsp\r
 \r
-pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+pscp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -163,7 +163,7 @@ pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                wintime.obj x11fwd.obj pscp.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @pscp.rsp\r
 \r
                wintime.obj x11fwd.obj pscp.rsp\r
        ilink32 -ap -Gn -L$(BCB)\lib @pscp.rsp\r
 \r
-psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+psftp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -246,7 +246,7 @@ plink.rsp: $(MAKEFILE)
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo c0x32 + > pscp.rsp\r
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo c0x32 + > pscp.rsp\r
-       echo be_none.obj cmdline.obj cproxy.obj int64.obj + >> pscp.rsp\r
+       echo be_ssh.obj cmdline.obj cproxy.obj int64.obj + >> pscp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> pscp.rsp\r
        echo portfwd.obj proxy.obj pscp.obj settings.obj + >> pscp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> pscp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> pscp.rsp\r
        echo portfwd.obj proxy.obj pscp.obj settings.obj + >> pscp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> pscp.rsp\r
@@ -265,7 +265,7 @@ pscp.rsp: $(MAKEFILE)
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo c0x32 + > psftp.rsp\r
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo c0x32 + > psftp.rsp\r
-       echo be_none.obj cmdline.obj cproxy.obj int64.obj + >> psftp.rsp\r
+       echo be_ssh.obj cmdline.obj cproxy.obj int64.obj + >> psftp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> psftp.rsp\r
        echo portfwd.obj proxy.obj psftp.obj settings.obj + >> psftp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> psftp.rsp\r
        echo logging.obj misc.obj pgssapi.obj pinger.obj + >> psftp.rsp\r
        echo portfwd.obj proxy.obj psftp.obj settings.obj + >> psftp.rsp\r
        echo sftp.obj ssh.obj sshaes.obj ssharcf.obj + >> psftp.rsp\r
@@ -347,6 +347,10 @@ be_nos_s.obj: ..\be_nos_s.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
+be_ssh.obj: ..\be_ssh.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \\r
+               ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
+               ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
+               ..\charset\charset.h\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
index 9735a4e..18caabc 100644 (file)
@@ -166,7 +166,7 @@ plink.exe: be_all_s.o cmdline.o cproxy.o ldisc.o logging.o misc.o pgssapi.o \
                -lcomctl32 -lcomdlg32 -lgdi32 -limm32 -lole32 -lshell32 \\r
                -luser32 -lwinmm -lwinspool\r
 \r
                -lcomctl32 -lcomdlg32 -lgdi32 -limm32 -lole32 -lshell32 \\r
                -luser32 -lwinmm -lwinspool\r
 \r
-pscp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+pscp.exe: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o pscp.o pscp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pinger.o portfwd.o proxy.o pscp.o pscp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -175,19 +175,19 @@ pscp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
-       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,pscp.map be_none.o cmdline.o \\r
-               cproxy.o int64.o logging.o misc.o pgssapi.o pinger.o \\r
-               portfwd.o proxy.o pscp.o pscp.res.o settings.o sftp.o ssh.o \\r
-               sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o \\r
-               sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o \\r
-               sshrand.o sshrsa.o sshsh256.o sshsh512.o sshsha.o sshzlib.o \\r
-               timing.o tree234.o version.o wildcard.o wincons.o windefs.o \\r
-               wingss.o winhandl.o winmisc.o winnet.o winnoise.o winnojmp.o \\r
+       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,pscp.map be_ssh.o cmdline.o cproxy.o \\r
+               int64.o logging.o misc.o pgssapi.o pinger.o portfwd.o \\r
+               proxy.o pscp.o pscp.res.o settings.o sftp.o ssh.o sshaes.o \\r
+               ssharcf.o sshblowf.o sshbn.o sshcrc.o sshcrcda.o sshdes.o \\r
+               sshdh.o sshdss.o sshgssc.o sshmd5.o sshpubk.o sshrand.o \\r
+               sshrsa.o sshsh256.o sshsh512.o sshsha.o sshzlib.o timing.o \\r
+               tree234.o version.o wildcard.o wincons.o windefs.o wingss.o \\r
+               winhandl.o winmisc.o winnet.o winnoise.o winnojmp.o \\r
                winpgntc.o winproxy.o winsftp.o winstore.o wintime.o \\r
                x11fwd.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -limm32 \\r
                -lole32 -lshell32 -luser32 -lwinmm -lwinspool\r
 \r
                winpgntc.o winproxy.o winsftp.o winstore.o wintime.o \\r
                x11fwd.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -limm32 \\r
                -lole32 -lshell32 -luser32 -lwinmm -lwinspool\r
 \r
-psftp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
+psftp.exe: be_ssh.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \\r
                pinger.o portfwd.o proxy.o psftp.o psftp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
                pinger.o portfwd.o proxy.o psftp.o psftp.res.o settings.o \\r
                sftp.o ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                sshcrcda.o sshdes.o sshdh.o sshdss.o sshgssc.o sshmd5.o \\r
@@ -196,7 +196,7 @@ psftp.exe: be_none.o cmdline.o cproxy.o int64.o logging.o misc.o pgssapi.o \
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
                windefs.o wingss.o winhandl.o winmisc.o winnet.o winnoise.o \\r
                winnojmp.o winpgntc.o winproxy.o winsftp.o winstore.o \\r
                wintime.o x11fwd.o\r
-       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,psftp.map be_none.o cmdline.o \\r
+       $(CC) $(LDFLAGS) -o $@ -Wl,-Map,psftp.map be_ssh.o cmdline.o \\r
                cproxy.o int64.o logging.o misc.o pgssapi.o pinger.o \\r
                portfwd.o proxy.o psftp.o psftp.res.o settings.o sftp.o \\r
                ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
                cproxy.o int64.o logging.o misc.o pgssapi.o pinger.o \\r
                portfwd.o proxy.o psftp.o psftp.res.o settings.o sftp.o \\r
                ssh.o sshaes.o ssharcf.o sshblowf.o sshbn.o sshcrc.o \\r
@@ -286,6 +286,12 @@ be_nos_s.o: ../be_nos_s.c ../putty.h ../puttyps.h ../network.h ../misc.h \
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
 \r
                ../charset/charset.h\r
        $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_nos_s.c\r
 \r
+be_ssh.o: ../be_ssh.c ../putty.h ../puttyps.h ../network.h ../misc.h \\r
+               ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
+               ../puttymem.h ../tree234.h ../windows/winhelp.h \\r
+               ../charset/charset.h\r
+       $(CC) $(COMPAT) $(CFLAGS) $(XFLAGS) -c ../be_ssh.c\r
+\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
 cmdgen.o: ../cmdgen.c ../putty.h ../ssh.h ../puttyps.h ../network.h \\r
                ../misc.h ../puttymem.h ../tree234.h ../int64.h \\r
                ../windows/winstuff.h ../macosx/osx.h ../unix/unix.h \\r
index 74b5a2b..2f30ede 100644 (file)
@@ -155,7 +155,7 @@ plink.exe: be_all_s.obj cmdline.obj cproxy.obj ldisc.obj logging.obj \
                x11fwd.obj shell32.lib wsock32.lib ws2_32.lib winspool.lib \\r
                winmm.lib imm32.lib\r
 \r
                x11fwd.obj shell32.lib wsock32.lib ws2_32.lib winspool.lib \\r
                winmm.lib imm32.lib\r
 \r
-pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+pscp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -166,20 +166,20 @@ pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
-       lcclnk  -o pscp.exe be_none.obj cmdline.obj cproxy.obj int64.obj \\r
-               logging.obj misc.obj pgssapi.obj pinger.obj portfwd.obj \\r
-               proxy.obj pscp.obj pscp.res settings.obj sftp.obj ssh.obj \\r
-               sshaes.obj ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj \\r
-               sshcrcda.obj sshdes.obj sshdh.obj sshdss.obj sshgssc.obj \\r
-               sshmd5.obj sshpubk.obj sshrand.obj sshrsa.obj sshsh256.obj \\r
-               sshsh512.obj sshsha.obj sshzlib.obj timing.obj tree234.obj \\r
-               version.obj wildcard.obj wincons.obj windefs.obj wingss.obj \\r
-               winhandl.obj winmisc.obj winnet.obj winnoise.obj \\r
-               winnojmp.obj winpgntc.obj winproxy.obj winsftp.obj \\r
-               winstore.obj wintime.obj x11fwd.obj shell32.lib wsock32.lib \\r
-               ws2_32.lib winspool.lib winmm.lib imm32.lib\r
+       lcclnk  -o pscp.exe be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj \\r
+               misc.obj pgssapi.obj pinger.obj portfwd.obj proxy.obj \\r
+               pscp.obj pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
+               ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
+               sshdes.obj sshdh.obj sshdss.obj sshgssc.obj sshmd5.obj \\r
+               sshpubk.obj sshrand.obj sshrsa.obj sshsh256.obj sshsh512.obj \\r
+               sshsha.obj sshzlib.obj timing.obj tree234.obj version.obj \\r
+               wildcard.obj wincons.obj windefs.obj wingss.obj winhandl.obj \\r
+               winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
+               winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
+               wintime.obj x11fwd.obj shell32.lib wsock32.lib ws2_32.lib \\r
+               winspool.lib winmm.lib imm32.lib\r
 \r
 \r
-psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+psftp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -190,7 +190,7 @@ psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
                winmisc.obj winnet.obj winnoise.obj winnojmp.obj \\r
                winpgntc.obj winproxy.obj winsftp.obj winstore.obj \\r
                wintime.obj x11fwd.obj\r
-       lcclnk  -o psftp.exe be_none.obj cmdline.obj cproxy.obj int64.obj \\r
+       lcclnk  -o psftp.exe be_ssh.obj cmdline.obj cproxy.obj int64.obj \\r
                logging.obj misc.obj pgssapi.obj pinger.obj portfwd.obj \\r
                proxy.obj psftp.obj psftp.res settings.obj sftp.obj ssh.obj \\r
                sshaes.obj ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj \\r
                logging.obj misc.obj pgssapi.obj pinger.obj portfwd.obj \\r
                proxy.obj psftp.obj psftp.res settings.obj sftp.obj ssh.obj \\r
                sshaes.obj ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj \\r
@@ -286,6 +286,11 @@ be_nos_s.obj: ..\be_nos_s.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
        lcc -O -p6 $(COMPAT) $(CFLAGS) $(XFLAGS) ..\be_nos_s.c\r
                ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
                ..\charset\charset.h\r
        lcc -O -p6 $(COMPAT) $(CFLAGS) $(XFLAGS) ..\be_nos_s.c\r
+be_ssh.obj: ..\be_ssh.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \\r
+               ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
+               ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
+               ..\charset\charset.h\r
+       lcc -O -p6 $(COMPAT) $(CFLAGS) $(XFLAGS) ..\be_ssh.c\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
index 754b149..59c3c43 100644 (file)
@@ -139,7 +139,7 @@ plink.exe: be_all_s.obj cmdline.obj cproxy.obj ldisc.obj logging.obj \
                plink.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:plink.exe -map:plink.map @plink.rsp\r
 \r
                plink.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:plink.exe -map:plink.map @plink.rsp\r
 \r
-pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+pscp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj pscp.obj \\r
                pscp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -152,7 +152,7 @@ pscp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \
                wintime.obj x11fwd.obj pscp.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:pscp.exe -map:pscp.map @pscp.rsp\r
 \r
                wintime.obj x11fwd.obj pscp.rsp\r
        link $(LFLAGS) $(XLFLAGS) -out:pscp.exe -map:pscp.map @pscp.rsp\r
 \r
-psftp.exe: be_none.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
+psftp.exe: be_ssh.obj cmdline.obj cproxy.obj int64.obj logging.obj misc.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
                pgssapi.obj pinger.obj portfwd.obj proxy.obj psftp.obj \\r
                psftp.res settings.obj sftp.obj ssh.obj sshaes.obj \\r
                ssharcf.obj sshblowf.obj sshbn.obj sshcrc.obj sshcrcda.obj \\r
@@ -235,7 +235,7 @@ plink.rsp: $(MAKEFILE)
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > pscp.rsp\r
 \r
 pscp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > pscp.rsp\r
-       echo advapi32.lib be_none.obj cmdline.obj comctl32.lib >> pscp.rsp\r
+       echo advapi32.lib be_ssh.obj cmdline.obj comctl32.lib >> pscp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> pscp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> pscp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> pscp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> pscp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> pscp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> pscp.rsp\r
@@ -254,7 +254,7 @@ pscp.rsp: $(MAKEFILE)
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > psftp.rsp\r
 \r
 psftp.rsp: $(MAKEFILE)\r
        echo /nologo /subsystem:console > psftp.rsp\r
-       echo advapi32.lib be_none.obj cmdline.obj comctl32.lib >> psftp.rsp\r
+       echo advapi32.lib be_ssh.obj cmdline.obj comctl32.lib >> psftp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> psftp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> psftp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> psftp.rsp\r
        echo comdlg32.lib cproxy.obj gdi32.lib imm32.lib >> psftp.rsp\r
        echo int64.obj logging.obj misc.obj ole32.lib >> psftp.rsp\r
        echo pgssapi.obj pinger.obj portfwd.obj proxy.obj >> psftp.rsp\r
@@ -343,6 +343,12 @@ be_nos_s.obj: ..\be_nos_s.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \
                ..\charset\charset.h\r
        cl $(COMPAT) $(CFLAGS) $(XFLAGS) /c ..\be_nos_s.c\r
 \r
                ..\charset\charset.h\r
        cl $(COMPAT) $(CFLAGS) $(XFLAGS) /c ..\be_nos_s.c\r
 \r
+be_ssh.obj: ..\be_ssh.c ..\putty.h ..\puttyps.h ..\network.h ..\misc.h \\r
+               ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
+               ..\puttymem.h ..\tree234.h ..\windows\winhelp.h \\r
+               ..\charset\charset.h\r
+       cl $(COMPAT) $(CFLAGS) $(XFLAGS) /c ..\be_ssh.c\r
+\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
 cmdgen.obj: ..\cmdgen.c ..\putty.h ..\ssh.h ..\puttyps.h ..\network.h \\r
                ..\misc.h ..\puttymem.h ..\tree234.h ..\int64.h \\r
                ..\windows\winstuff.h ..\macosx\osx.h ..\unix\unix.h \\r
index 763849b..ae52b8c 100644 (file)
@@ -94,7 +94,16 @@ LINK32=link.exe
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
-SOURCE=..\..\..\be_none.c\r
+SOURCE=..\..\..\be_ssh.c\r
+\r
+!IF  "$(CFG)" == "pscp - Win32 Release"\r
+\r
+!ELSEIF  "$(CFG)" == "pscp - Win32 Debug"\r
+\r
+# ADD CPP /Zi\r
+\r
+!ENDIF \r
+\r
 # End Source File\r
 # Begin Source File\r
 \r
 # End Source File\r
 # Begin Source File\r
 \r
index af4ce25..65d5bb7 100644 (file)
@@ -94,7 +94,16 @@ LINK32=link.exe
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
 # Begin Source File\r
 \r
-SOURCE=..\..\..\be_none.c\r
+SOURCE=..\..\..\be_ssh.c\r
+\r
+!IF  "$(CFG)" == "psftp - Win32 Release"\r
+\r
+!ELSEIF  "$(CFG)" == "psftp - Win32 Debug"\r
+\r
+# ADD CPP /Zi\r
+\r
+!ENDIF \r
+\r
 # End Source File\r
 # Begin Source File\r
 \r
 # End Source File\r
 # Begin Source File\r
 \r
index fb979ca..3299c1f 100644 (file)
@@ -1,5 +1,5 @@
 ; -*- no -*-\r
 ; -*- no -*-\r
-; $Id: putty.iss 9202 2011-07-12 18:26:18Z simon $\r
+; $Id: putty.iss 9366 2011-12-10 12:08:09Z simon $\r
 ;\r
 ; -- Inno Setup installer script for PuTTY and its related tools.\r
 ;    Last tested with Inno Setup 5.0.8.\r
 ;\r
 ; -- Inno Setup installer script for PuTTY and its related tools.\r
 ;    Last tested with Inno Setup 5.0.8.\r
 \r
 [Setup]\r
 AppName=PuTTY\r
 \r
 [Setup]\r
 AppName=PuTTY\r
-AppVerName=PuTTY version 0.61\r
-VersionInfoTextVersion=Release 0.61\r
-AppVersion=0.61\r
-VersionInfoVersion=0.61.0.0\r
+AppVerName=PuTTY version 0.62\r
+VersionInfoTextVersion=Release 0.62\r
+AppVersion=0.62\r
+VersionInfoVersion=0.62.0.0\r
 AppPublisher=Simon Tatham\r
 AppPublisherURL=http://www.chiark.greenend.org.uk/~sgtatham/putty/\r
 AppReadmeFile={app}\README.txt\r
 AppPublisher=Simon Tatham\r
 AppPublisherURL=http://www.chiark.greenend.org.uk/~sgtatham/putty/\r
 AppReadmeFile={app}\README.txt\r
index 6a6e591..1c76927 100644 (file)
@@ -39,7 +39,7 @@
 \r
 /* We keep this around even for snapshots, for monotonicity of version\r
  * numbering. It needs to be kept up to date. NB _comma_-separated. */\r
 \r
 /* We keep this around even for snapshots, for monotonicity of version\r
  * numbering. It needs to be kept up to date. NB _comma_-separated. */\r
-#define BASE_VERSION 0,61\r
+#define BASE_VERSION 0,62\r
 \r
 #if defined SNAPSHOT\r
 \r
 \r
 #if defined SNAPSHOT\r
 \r
 #define VERSION_TEXT "Release " STR(RELEASE)\r
 #define BINARY_VERSION BASE_VERSION,0,0\r
 \r
 #define VERSION_TEXT "Release " STR(RELEASE)\r
 #define BINARY_VERSION BASE_VERSION,0,0\r
 \r
+#elif defined PRERELEASE\r
+\r
+#define VERSION_TEXT "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);\r
+#define BINARY_VERSION BASE_VERSION,SVN_REV,0\r
+\r
 #elif defined SVN_REV\r
 \r
 #define VERSION_TEXT "Custom build r" STR(SVN_REV)\r
 #elif defined SVN_REV\r
 \r
 #define VERSION_TEXT "Custom build r" STR(SVN_REV)\r
index cac7672..c533542 100644 (file)
@@ -3521,8 +3521,8 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len,
            dec = dec * 2 - font_height;\r
 \r
        oldpen = SelectObject(hdc, CreatePen(PS_SOLID, 0, fg));\r
            dec = dec * 2 - font_height;\r
 \r
        oldpen = SelectObject(hdc, CreatePen(PS_SOLID, 0, fg));\r
-       MoveToEx(hdc, x, y + dec, NULL);\r
-       LineTo(hdc, x + len * char_width, y + dec);\r
+       MoveToEx(hdc, line_box.left, line_box.top + dec, NULL);\r
+       LineTo(hdc, line_box.right, line_box.top + dec);\r
        oldpen = SelectObject(hdc, oldpen);\r
        DeleteObject(oldpen);\r
     }\r
        oldpen = SelectObject(hdc, oldpen);\r
        DeleteObject(oldpen);\r
     }\r
index bf920f1..ba55162 100644 (file)
@@ -1684,6 +1684,53 @@ static void update_sessions(void)
     }\r
 }\r
 \r
     }\r
 }\r
 \r
+#ifndef NO_SECURITY\r
+/*\r
+ * Versions of Pageant prior to 0.61 expected this SID on incoming\r
+ * communications. For backwards compatibility, and more particularly\r
+ * for compatibility with derived works of PuTTY still using the old\r
+ * Pageant client code, we accept it as an alternative to the one\r
+ * returned from get_user_sid() in winpgntc.c.\r
+ */\r
+PSID get_default_sid(void)\r
+{\r
+    HANDLE proc = NULL;\r
+    DWORD sidlen;\r
+    PSECURITY_DESCRIPTOR psd = NULL;\r
+    PSID sid = NULL, copy = NULL, ret = NULL;\r
+\r
+    if ((proc = OpenProcess(MAXIMUM_ALLOWED, FALSE,\r
+                            GetCurrentProcessId())) == NULL)\r
+        goto cleanup;\r
+\r
+    if (p_GetSecurityInfo(proc, SE_KERNEL_OBJECT, OWNER_SECURITY_INFORMATION,\r
+                          &sid, NULL, NULL, NULL, &psd) != ERROR_SUCCESS)\r
+        goto cleanup;\r
+\r
+    sidlen = GetLengthSid(sid);\r
+\r
+    copy = (PSID)smalloc(sidlen);\r
+\r
+    if (!CopySid(sidlen, copy, sid))\r
+        goto cleanup;\r
+\r
+    /* Success. Move sid into the return value slot, and null it out\r
+     * to stop the cleanup code freeing it. */\r
+    ret = copy;\r
+    copy = NULL;\r
+\r
+  cleanup:\r
+    if (proc != NULL)\r
+        CloseHandle(proc);\r
+    if (psd != NULL)\r
+        LocalFree(psd);\r
+    if (copy != NULL)\r
+        sfree(copy);\r
+\r
+    return ret;\r
+}\r
+#endif\r
+\r
 static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,\r
                                WPARAM wParam, LPARAM lParam)\r
 {\r
 static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,\r
                                WPARAM wParam, LPARAM lParam)\r
 {\r
@@ -1821,9 +1868,9 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
            void *p;\r
            HANDLE filemap;\r
 #ifndef NO_SECURITY\r
            void *p;\r
            HANDLE filemap;\r
 #ifndef NO_SECURITY\r
-           PSID mapowner, ourself;\r
-           PSECURITY_DESCRIPTOR psd1 = NULL, psd2 = NULL;\r
+           PSID mapowner, ourself, ourself2;\r
 #endif\r
 #endif\r
+            PSECURITY_DESCRIPTOR psd = NULL;\r
            int ret = 0;\r
 \r
            cds = (COPYDATASTRUCT *) lParam;\r
            int ret = 0;\r
 \r
            cds = (COPYDATASTRUCT *) lParam;\r
@@ -1850,10 +1897,17 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                        return 0;\r
                     }\r
 \r
                        return 0;\r
                     }\r
 \r
+                    if ((ourself2 = get_default_sid()) == NULL) {\r
+#ifdef DEBUG_IPC\r
+                       debug(("couldn't get default SID\n"));\r
+#endif\r
+                       return 0;\r
+                    }\r
+\r
                    if ((rc = p_GetSecurityInfo(filemap, SE_KERNEL_OBJECT,\r
                                                OWNER_SECURITY_INFORMATION,\r
                                                &mapowner, NULL, NULL, NULL,\r
                    if ((rc = p_GetSecurityInfo(filemap, SE_KERNEL_OBJECT,\r
                                                OWNER_SECURITY_INFORMATION,\r
                                                &mapowner, NULL, NULL, NULL,\r
-                                               &psd1) != ERROR_SUCCESS)) {\r
+                                               &psd) != ERROR_SUCCESS)) {\r
 #ifdef DEBUG_IPC\r
                        debug(("couldn't get owner info for filemap: %d\n",\r
                                rc));\r
 #ifdef DEBUG_IPC\r
                        debug(("couldn't get owner info for filemap: %d\n",\r
                                rc));\r
@@ -1862,22 +1916,28 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                    }\r
 #ifdef DEBUG_IPC\r
                     {\r
                    }\r
 #ifdef DEBUG_IPC\r
                     {\r
-                        LPTSTR ours, theirs;\r
+                        LPTSTR ours, ours2, theirs;\r
                         ConvertSidToStringSid(mapowner, &theirs);\r
                         ConvertSidToStringSid(ourself, &ours);\r
                         ConvertSidToStringSid(mapowner, &theirs);\r
                         ConvertSidToStringSid(ourself, &ours);\r
-                        debug(("got both sids: ours=%s theirs=%s\n",\r
-                               ours, theirs));\r
+                        ConvertSidToStringSid(ourself2, &ours2);\r
+                        debug(("got sids:\n  oursnew=%s\n  oursold=%s\n"\r
+                               "  theirs=%s\n", ours, ours2, theirs));\r
                         LocalFree(ours);\r
                         LocalFree(ours);\r
+                        LocalFree(ours2);\r
                         LocalFree(theirs);\r
                     }\r
 #endif\r
                         LocalFree(theirs);\r
                     }\r
 #endif\r
-                   if (!EqualSid(mapowner, ourself))\r
+                   if (!EqualSid(mapowner, ourself) &&\r
+                        !EqualSid(mapowner, ourself2)) {\r
+                        CloseHandle(filemap);\r
                        return 0;      /* security ID mismatch! */\r
                        return 0;      /* security ID mismatch! */\r
+                    }\r
 #ifdef DEBUG_IPC\r
                    debug(("security stuff matched\n"));\r
 #endif\r
 #ifdef DEBUG_IPC\r
                    debug(("security stuff matched\n"));\r
 #endif\r
-                   LocalFree(psd1);\r
-                   LocalFree(psd2);\r
+                    LocalFree(psd);\r
+                    sfree(ourself);\r
+                    sfree(ourself2);\r
                } else {\r
 #ifdef DEBUG_IPC\r
                    debug(("security APIs not present\n"));\r
                } else {\r
 #ifdef DEBUG_IPC\r
                    debug(("security APIs not present\n"));\r
index f6434e5..9694163 100644 (file)
Binary files a/putty/x64/Release/PuTTY.dll and b/putty/x64/Release/PuTTY.dll differ