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
- * (such as pscp or pterm).\r
+ * (such as pterm).\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
+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
@@ -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
+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 "$(PRERELEASE)" "" set Unxver $(PRERELEASE)pre $(revision)\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 "$(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
-# 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
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
@@ -43,7 +43,7 @@ use Plink:
 \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
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
@@ -41,7 +41,7 @@ use PSCP:
 \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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
index 8047850..aed6728 100644 (file)
@@ -24,8 +24,17 @@ case "$1" in
     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
-    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
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
-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
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
-            maxlen += 1 + strlen(s);\r
+            maxlen += (maxlen > 0 ? 1 : 0) + strlen(s);\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
@@ -317,7 +317,8 @@ static void wprefs(void *sesskey, char *name,
        }\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
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_GSSAPI,\r
+               AUTH_TYPE_GSSAPI,      /* always QUIET */\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
-                    * 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
@@ -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
-                       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
-                       /* 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
-                       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
@@ -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
+                    logevent("Sent public key signature");\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
+                logevent("Attempting GSSAPI authentication");\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
+                \r
+                logevent("Attempting keyboard-interactive authentication");\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
-                   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
@@ -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
+                     * 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
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
-           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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
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
+#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
index 8ae4c6a..785f535 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 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
index a4ab2d3..d9608f6 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 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
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
-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
@@ -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
-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
@@ -246,7 +246,7 @@ plink.rsp: $(MAKEFILE)
 \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
@@ -265,7 +265,7 @@ pscp.rsp: $(MAKEFILE)
 \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
@@ -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
+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
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
-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
@@ -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
-       $(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
-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
@@ -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
-       $(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
@@ -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
+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
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
-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
@@ -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
-       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
-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
@@ -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
-       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
@@ -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
+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
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
-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
@@ -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
-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
@@ -235,7 +235,7 @@ plink.rsp: $(MAKEFILE)
 \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
@@ -254,7 +254,7 @@ pscp.rsp: $(MAKEFILE)
 \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
@@ -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
+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
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
-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
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
-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
index fb979ca..3299c1f 100644 (file)
@@ -1,5 +1,5 @@
 ; -*- 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
 [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
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
-#define BASE_VERSION 0,61\r
+#define BASE_VERSION 0,62\r
 \r
 #if defined SNAPSHOT\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
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
-       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
index bf920f1..ba55162 100644 (file)
@@ -1684,6 +1684,53 @@ static void update_sessions(void)
     }\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
@@ -1821,9 +1868,9 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
            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
+            PSECURITY_DESCRIPTOR psd = NULL;\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
+                    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
-                                               &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
@@ -1862,22 +1916,28 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                    }\r
 #ifdef DEBUG_IPC\r
                     {\r
-                        LPTSTR ours, theirs;\r
+                        LPTSTR ours, ours2, theirs;\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(ours2);\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
+                    }\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
index 95ddbd5..2f8297b 100644 (file)
@@ -1,6 +1,6 @@
 /*\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
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
+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
@@ -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
+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 "$(PRERELEASE)" "" set Unxver $(PRERELEASE)pre $(revision)\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 "$(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
-# 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
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
@@ -43,7 +43,7 @@ use Plink:
 \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
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
@@ -41,7 +41,7 @@ use PSCP:
 \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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
index 8047850..aed6728 100644 (file)
@@ -24,8 +24,17 @@ case "$1" in
     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
-    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
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
-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
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
-            maxlen += 1 + strlen(s);\r
+            maxlen += (maxlen > 0 ? 1 : 0) + strlen(s);\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
@@ -317,7 +317,8 @@ static void wprefs(void *sesskey, char *name,
        }\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
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_GSSAPI,\r
+               AUTH_TYPE_GSSAPI,      /* always QUIET */\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
-                    * 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
@@ -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
-                       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
-                       /* 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
-                       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
@@ -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
+                    logevent("Sent public key signature");\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
+                logevent("Attempting GSSAPI authentication");\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
+                \r
+                logevent("Attempting keyboard-interactive authentication");\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
-                   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
@@ -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
+                     * 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
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
-           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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
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
-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
@@ -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
-       $(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
@@ -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
-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
@@ -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
-       $(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
@@ -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
+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
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
+#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
index 8ae4c6a..785f535 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 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
index a4ab2d3..d9608f6 100644 (file)
@@ -33,7 +33,7 @@ CompilerSet=0
 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
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
-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
@@ -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
-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
@@ -246,7 +246,7 @@ plink.rsp: $(MAKEFILE)
 \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
@@ -265,7 +265,7 @@ pscp.rsp: $(MAKEFILE)
 \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
@@ -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
+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
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
-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
@@ -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
-       $(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
-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
@@ -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
-       $(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
@@ -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
+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
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
-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
@@ -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
-       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
-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
@@ -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
-       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
@@ -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
+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
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
-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
@@ -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
-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
@@ -235,7 +235,7 @@ plink.rsp: $(MAKEFILE)
 \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
@@ -254,7 +254,7 @@ pscp.rsp: $(MAKEFILE)
 \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
@@ -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
+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
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
-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
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
-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
index fb979ca..3299c1f 100644 (file)
@@ -1,5 +1,5 @@
 ; -*- 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
 [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
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
-#define BASE_VERSION 0,61\r
+#define BASE_VERSION 0,62\r
 \r
 #if defined SNAPSHOT\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
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
-       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
index bf920f1..ba55162 100644 (file)
@@ -1684,6 +1684,53 @@ static void update_sessions(void)
     }\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
@@ -1821,9 +1868,9 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
            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
+            PSECURITY_DESCRIPTOR psd = NULL;\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
+                    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
-                                               &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
@@ -1862,22 +1916,28 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
                    }\r
 #ifdef DEBUG_IPC\r
                     {\r
-                        LPTSTR ours, theirs;\r
+                        LPTSTR ours, ours2, theirs;\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(ours2);\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
+                    }\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
index f6434e5..9694163 100644 (file)
Binary files a/putty/x64/Release/PuTTY.dll and b/putty/x64/Release/PuTTY.dll differ