Malcolm Rowe spotted that we broke display of SSH2_MSG_DEBUG messages while
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Thu, 28 Oct 2004 00:23:44 +0000 (00:23 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Thu, 28 Oct 2004 00:23:44 +0000 (00:23 +0000)
fixing `vuln-ssh2-debug', by missing out a field. In most cases
(always_display = 0) we would log a zero-length or truncated message.

(Also add a prototype for ssh2_pkt_getbool().)

git-svn-id: svn://svn.tartarus.org/sgt/putty@4718 cda61777-01e9-0310-a592-d414129be87e

ssh.c

diff --git a/ssh.c b/ssh.c
index 9661e2a..983e148 100644 (file)
--- a/ssh.c
+++ b/ssh.c
@@ -525,6 +525,7 @@ static void ssh2_set_window(struct ssh_channel *c, unsigned newwin);
 static int ssh_sendbuffer(void *handle);
 static void ssh_do_close(Ssh ssh);
 static unsigned long ssh_pkt_getuint32(Ssh ssh);
+static int ssh2_pkt_getbool(Ssh ssh);
 static void ssh_pkt_getstring(Ssh ssh, char **p, int *length);
 
 struct rdpkt1_state_tag {
@@ -1198,7 +1199,10 @@ static int ssh2_rdpkt(Ssh ssh, unsigned char **data, int *datalen)
            /* log the debug message */
            char *buf, *msg;
            int msglen;
+           int always_display;
 
+           /* XXX maybe we should actually take notice of this */
+            always_display = ssh2_pkt_getbool(ssh);
             ssh_pkt_getstring(ssh, &msg, &msglen);
 
             buf = dupprintf("Remote debug message: %.*s", msglen, msg);